def testApplyActionDecrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ["CHANGE_BOND", "*1", -1, "*2"] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue("S" in order0 or "B" in order0)
def testApplyActionDecrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ['CHANGE_BOND', '*1', -1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue(1 in order0 or 1.5 in order0)
def testApplyActionLoseRadical(self): """ Test the GroupBond.applyAction() method for a LOSE_RADICAL action. """ action = ['LOSE_RADICAL', '*1', 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail('GroupBond.applyAction() unexpectedly processed a LOSE_RADICAL action.') except ActionError: pass
def testApplyActionFormBond(self): """ Test the GroupBond.applyAction() method for a FORM_BOND action. """ action = ['FORM_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail('GroupBond.applyAction() unexpectedly processed a FORM_BOND action.') except ActionError: pass
def testApplyActionGainRadical(self): """ Test the GroupBond.applyAction() method for a GAIN_RADICAL action. """ action = ["GAIN_RADICAL", "*1", 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail("GroupBond.applyAction() unexpectedly processed a GAIN_RADICAL action.") except ActionError: pass
def testApplyActionBreakBond(self): """ Test the GroupBond.applyAction() method for a BREAK_BOND action. """ action = ["BREAK_BOND", "*1", "S", "*2"] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail("GroupBond.applyAction() unexpectedly processed a BREAK_BOND action.") except ActionError: pass
def testApplyActionLoseRadical(self): """ Test the GroupBond.applyAction() method for a LOSE_RADICAL action. """ action = ['LOSE_RADICAL', '*1', 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail( 'GroupBond.applyAction() unexpectedly processed a LOSE_RADICAL action.' ) except ActionError: pass
def testApplyActionFormBond(self): """ Test the GroupBond.applyAction() method for a FORM_BOND action. """ action = ['FORM_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail( 'GroupBond.applyAction() unexpectedly processed a FORM_BOND action.' ) except ActionError: pass
class TestGroupBond(unittest.TestCase): """ Contains unit tests of the GroupBond class. """ def setUp(self): """ A method called before each unit test in this class. """ self.bond = GroupBond(None, None, order=[2]) self.orderList = [[1], [2], [3], [1.5], [1, 2], [2, 1], [2, 3], [1, 2, 3]] def testGetOrderStr(self): """ test the Bond.getOrderStr() method """ bond = GroupBond(None, None, order=[1, 2, 3, 1.5]) self.assertEqual(bond.getOrderStr(), ['S', 'D', 'T', 'B']) def testSetOrderStr(self): """ test the Bond.setOrderStr() method """ self.bond.setOrderStr(["B", 'T']) self.assertEqual(set(self.bond.order), set([3, 1.5])) def testGetOrderNum(self): """ test the Bond.getOrderNum() method """ self.assertEqual(self.bond.getOrderNum(), [2]) def testSetOrderNum(self): """ test the Bond.setOrderNum() method """ self.bond.setOrderNum([3, 1, 2]) self.assertEqual(self.bond.getOrderStr(), ['T', 'S', 'D']) def testApplyActionBreakBond(self): """ Test the GroupBond.applyAction() method for a BREAK_BOND action. """ action = ['BREAK_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail( 'GroupBond.applyAction() unexpectedly processed a BREAK_BOND action.' ) except ActionError: pass def testApplyActionFormBond(self): """ Test the GroupBond.applyAction() method for a FORM_BOND action. """ action = ['FORM_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail( 'GroupBond.applyAction() unexpectedly processed a FORM_BOND action.' ) except ActionError: pass def testApplyActionIncrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ['CHANGE_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue(3 in order0 or 1.5 in order0) def testApplyActionDecrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ['CHANGE_BOND', '*1', -1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue(1 in order0 or 1.5 in order0) def testApplyActionGainRadical(self): """ Test the GroupBond.applyAction() method for a GAIN_RADICAL action. """ action = ['GAIN_RADICAL', '*1', 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail( 'GroupBond.applyAction() unexpectedly processed a GAIN_RADICAL action.' ) except ActionError: pass def testApplyActionLoseRadical(self): """ Test the GroupBond.applyAction() method for a LOSE_RADICAL action. """ action = ['LOSE_RADICAL', '*1', 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail( 'GroupBond.applyAction() unexpectedly processed a LOSE_RADICAL action.' ) except ActionError: pass def testEquivalent(self): """ Test the GroupBond.equivalent() method. """ for order1 in self.orderList: for order2 in self.orderList: bond1 = GroupBond(None, None, order=order1) bond2 = GroupBond(None, None, order=order2) if order1 == order2 or (all([o in order2 for o in order1]) and all([o in order1 for o in order2])): self.assertTrue(bond1.equivalent(bond2)) self.assertTrue(bond2.equivalent(bond1)) else: self.assertFalse(bond1.equivalent(bond2)) self.assertFalse(bond2.equivalent(bond1)) def testIsSpecificCaseOf(self): """ Test the GroupBond.isSpecificCaseOf() method. """ for order1 in self.orderList: for order2 in self.orderList: bond1 = GroupBond(None, None, order=order1) bond2 = GroupBond(None, None, order=order2) if order1 == order2 or all([o in order2 for o in order1]): self.assertTrue(bond1.isSpecificCaseOf(bond2)) else: self.assertFalse(bond1.isSpecificCaseOf(bond2)) def testCopy(self): """ Test the GroupBond.copy() method. """ bond = self.bond.copy() self.assertEqual(len(self.bond.order), len(bond.order)) self.assertEqual(self.bond.order, bond.order) def testPickle(self): """ Test that a GroupBond object can be successfully pickled and unpickled with no loss of information. """ import cPickle bond = cPickle.loads(cPickle.dumps(self.bond)) self.assertEqual(len(self.bond.order), len(bond.order)) self.assertEqual(self.bond.order, bond.order)
class TestGroupBond(unittest.TestCase): """ Contains unit tests of the GroupBond class. """ def setUp(self): """ A method called before each unit test in this class. """ self.bond = GroupBond(None, None, order=[2]) self.orderList = [[1], [2], [3], [1.5], [1,2], [2,1], [2,3], [1,2,3]] def testGetOrderStr(self): """ test the Bond.getOrderStr() method """ bond = GroupBond(None,None,order = [1,2,3,1.5]) self.assertEqual(bond.getOrderStr(),['S','D','T','B']) def testSetOrderStr(self): """ test the Bond.setOrderStr() method """ self.bond.setOrderStr(["B",'T']) self.assertEqual(set(self.bond.order), set([3,1.5])) def testGetOrderNum(self): """ test the Bond.getOrderNum() method """ self.assertEqual(self.bond.getOrderNum(),[2]) def testSetOrderNum(self): """ test the Bond.setOrderNum() method """ self.bond.setOrderNum([3,1,2]) self.assertEqual(self.bond.getOrderStr(),['T','S','D']) def testApplyActionBreakBond(self): """ Test the GroupBond.applyAction() method for a BREAK_BOND action. """ action = ['BREAK_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail('GroupBond.applyAction() unexpectedly processed a BREAK_BOND action.') except ActionError: pass def testApplyActionFormBond(self): """ Test the GroupBond.applyAction() method for a FORM_BOND action. """ action = ['FORM_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail('GroupBond.applyAction() unexpectedly processed a FORM_BOND action.') except ActionError: pass def testApplyActionIncrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ['CHANGE_BOND', '*1', 1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue(3 in order0 or 1.5 in order0) def testApplyActionDecrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ['CHANGE_BOND', '*1', -1, '*2'] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue(1 in order0 or 1.5 in order0) def testApplyActionGainRadical(self): """ Test the GroupBond.applyAction() method for a GAIN_RADICAL action. """ action = ['GAIN_RADICAL', '*1', 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail('GroupBond.applyAction() unexpectedly processed a GAIN_RADICAL action.') except ActionError: pass def testApplyActionLoseRadical(self): """ Test the GroupBond.applyAction() method for a LOSE_RADICAL action. """ action = ['LOSE_RADICAL', '*1', 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail('GroupBond.applyAction() unexpectedly processed a LOSE_RADICAL action.') except ActionError: pass def testEquivalent(self): """ Test the GroupBond.equivalent() method. """ for order1 in self.orderList: for order2 in self.orderList: bond1 = GroupBond(None, None, order=order1) bond2 = GroupBond(None, None, order=order2) if order1 == order2 or (all([o in order2 for o in order1]) and all([o in order1 for o in order2])): self.assertTrue(bond1.equivalent(bond2)) self.assertTrue(bond2.equivalent(bond1)) else: self.assertFalse(bond1.equivalent(bond2)) self.assertFalse(bond2.equivalent(bond1)) def testIsSpecificCaseOf(self): """ Test the GroupBond.isSpecificCaseOf() method. """ for order1 in self.orderList: for order2 in self.orderList: bond1 = GroupBond(None, None, order=order1) bond2 = GroupBond(None, None, order=order2) if order1 == order2 or all([o in order2 for o in order1]): self.assertTrue(bond1.isSpecificCaseOf(bond2)) else: self.assertFalse(bond1.isSpecificCaseOf(bond2)) def testCopy(self): """ Test the GroupBond.copy() method. """ bond = self.bond.copy() self.assertEqual(len(self.bond.order), len(bond.order)) self.assertEqual(self.bond.order, bond.order) def testPickle(self): """ Test that a GroupBond object can be successfully pickled and unpickled with no loss of information. """ import cPickle bond = cPickle.loads(cPickle.dumps(self.bond)) self.assertEqual(len(self.bond.order), len(bond.order)) self.assertEqual(self.bond.order, bond.order)
class TestGroupBond(unittest.TestCase): """ Contains unit tests of the GroupBond class. """ def setUp(self): """ A method called before each unit test in this class. """ self.bond = GroupBond(None, None, order=["D"]) self.orderList = [["S"], ["D"], ["T"], ["B"], ["S", "D"], ["D", "S"], ["D", "T"], ["S", "D", "T"]] def testApplyActionBreakBond(self): """ Test the GroupBond.applyAction() method for a BREAK_BOND action. """ action = ["BREAK_BOND", "*1", "S", "*2"] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail("GroupBond.applyAction() unexpectedly processed a BREAK_BOND action.") except ActionError: pass def testApplyActionFormBond(self): """ Test the GroupBond.applyAction() method for a FORM_BOND action. """ action = ["FORM_BOND", "*1", "S", "*2"] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail("GroupBond.applyAction() unexpectedly processed a FORM_BOND action.") except ActionError: pass def testApplyActionIncrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ["CHANGE_BOND", "*1", 1, "*2"] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue("T" in order0 or "B" in order0) def testApplyActionDecrementBond(self): """ Test the GroupBond.applyAction() method for a CHANGE_BOND action. """ action = ["CHANGE_BOND", "*1", -1, "*2"] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) except ActionError: self.assertTrue("S" in order0 or "B" in order0) def testApplyActionGainRadical(self): """ Test the GroupBond.applyAction() method for a GAIN_RADICAL action. """ action = ["GAIN_RADICAL", "*1", 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail("GroupBond.applyAction() unexpectedly processed a GAIN_RADICAL action.") except ActionError: pass def testApplyActionLoseRadical(self): """ Test the GroupBond.applyAction() method for a LOSE_RADICAL action. """ action = ["LOSE_RADICAL", "*1", 1] for order0 in self.orderList: bond0 = GroupBond(None, None, order=order0) bond = bond0.copy() try: bond.applyAction(action) self.fail("GroupBond.applyAction() unexpectedly processed a LOSE_RADICAL action.") except ActionError: pass def testEquivalent(self): """ Test the GroupBond.equivalent() method. """ for order1 in self.orderList: for order2 in self.orderList: bond1 = GroupBond(None, None, order=order1) bond2 = GroupBond(None, None, order=order2) if order1 == order2 or (all([o in order2 for o in order1]) and all([o in order1 for o in order2])): self.assertTrue(bond1.equivalent(bond2)) self.assertTrue(bond2.equivalent(bond1)) else: self.assertFalse(bond1.equivalent(bond2)) self.assertFalse(bond2.equivalent(bond1)) def testIsSpecificCaseOf(self): """ Test the GroupBond.isSpecificCaseOf() method. """ for order1 in self.orderList: for order2 in self.orderList: bond1 = GroupBond(None, None, order=order1) bond2 = GroupBond(None, None, order=order2) if order1 == order2 or all([o in order2 for o in order1]): self.assertTrue(bond1.isSpecificCaseOf(bond2)) else: self.assertFalse(bond1.isSpecificCaseOf(bond2)) def testCopy(self): """ Test the GroupBond.copy() method. """ bond = self.bond.copy() self.assertEqual(len(self.bond.order), len(bond.order)) self.assertEqual(self.bond.order, bond.order) def testPickle(self): """ Test that a GroupBond object can be successfully pickled and unpickled with no loss of information. """ import cPickle bond = cPickle.loads(cPickle.dumps(self.bond)) self.assertEqual(len(self.bond.order), len(bond.order)) self.assertEqual(self.bond.order, bond.order)