Bond b1("name", a1, a2, 1, 2); TEST_EQUAL(b1.getName(), "name") TEST_EQUAL(b1.getFirstAtom(), &a1) TEST_EQUAL(b1.getSecondAtom(), &a2) TEST_EQUAL(b1.getOrder(), 1) TEST_EQUAL(b1.getType(), 2) RESULT CHECK(static Bond* createBond(Bond& bond, Atom& first, Atom& second) throw(TooManyBonds)) Atom a1; Atom a2; Atom a3; Bond b1; Bond b2; TEST_NOT_EQUAL(b1.createBond(b1, a2, a1), 0) TEST_EQUAL(a2.countBonds(), 1); TEST_EQUAL(b1.getFirstAtom(), &a1); TEST_EQUAL(b1.getSecondAtom(), &a2); TEST_NOT_EQUAL(b1.createBond(b1, a1, a2), 0); TEST_EQUAL(a1.countBonds(), 1); TEST_EQUAL(a2.countBonds(), 1); TEST_EQUAL(b1.getFirstAtom(), &a1); TEST_EQUAL(b1.getSecondAtom(), &a2); TEST_EQUAL(b2.createBond(b2, a1, a2), &b1); TEST_EQUAL(a1.countBonds(), 1); TEST_EQUAL(a2.countBonds(), 1); TEST_NOT_EQUAL(b2.createBond(b2, a1, a3), 0);