TEST_EQUAL(ef1, "H2"); END_SECTION START_SECTION(EmpiricalFormula operator - (const EmpiricalFormula& rhs) const) EmpiricalFormula ef1("C5H12"), ef2("CH12"); EmpiricalFormula ef3, ef4; ef3 = ef1 - ef2; cerr << *e_ptr << " " << ef3 << endl; TEST_EQUAL(*e_ptr == ef3, true) ef3 = ef3 - EmpiricalFormula("C4H-2"); TEST_EQUAL(ef3, "H2"); END_SECTION START_SECTION(bool isEmpty() const) EmpiricalFormula ef; TEST_EQUAL(ef.isEmpty(), true) TEST_EQUAL(e_ptr->isEmpty(), false) END_SECTION START_SECTION(bool hasElement(const Element* element) const) const Element* e = db->getElement(6); TEST_EQUAL(e_ptr->hasElement(e), true) e = db->getElement(1); TEST_EQUAL(e_ptr->hasElement(e), false) END_SECTION START_SECTION(bool contains(const EmpiricalFormula& ef)) EmpiricalFormula metabolite("C12H36N2"); TEST_EQUAL(metabolite.contains(metabolite), true) // contains itself?