def setUp(self): self.Aagent1 = Atomic_Agent('S', ['u'], 'cyt') self.Aagent12 = Atomic_Agent('S', ['p'], 'cyt') self.Aagent13 = Atomic_Agent('S', ['u', 'p'], 'cyt') self.Aagent2 = Atomic_Agent('T', ['u'], 'cyt') self.Aagent22 = Atomic_Agent('T', ['p'], 'cyt') self.Aagent23 = Atomic_Agent('T', ['u', 'p'], 'cyt') self.Aagent3 = Atomic_Agent('N', ['u'], 'cyt') self.Aagent32 = Atomic_Agent('N', ['p'], 'cyt') self.Aagent33 = Atomic_Agent('N', ['u', 'p'], 'cyt') self.Sagent1 = Structure_Agent('KaiC', [self.Aagent1, self.Aagent2], 'cyt') self.Sagent2 = Structure_Agent('KaiC', [self.Aagent2, self.Aagent1], 'cyt') self.Sagent3 = Structure_Agent('KaiC', [self.Aagent2, self.Aagent3], 'cyt') self.Sagent4 = Structure_Agent('KaiC', [self.Aagent13, self.Aagent23], 'cyt') self.Sagent5 = Structure_Agent('KaiC', [self.Aagent12, self.Aagent22, self.Aagent32], 'cyt') self.Sagent6 = Structure_Agent('KaiC', [self.Aagent22, self.Aagent12], 'cyt') self.Sagent7 = Structure_Agent('KaiC', [self.Aagent13, self.Aagent2], 'cyt') self.Sagent8 = Structure_Agent('KaiC', [self.Aagent1, self.Aagent23], 'cyt') self.Sagent9 = Structure_Agent('KaiC', [self.Aagent1, self.Aagent22], 'cyt') self.Sagent10 = Structure_Agent('KaiC', [], 'cyt')
class TestStructureAgent(unittest.TestCase): def setUp(self): self.Aagent1 = Atomic_Agent('S', ['u'], 'cyt') self.Aagent12 = Atomic_Agent('S', ['p'], 'cyt') self.Aagent13 = Atomic_Agent('S', ['u', 'p'], 'cyt') self.Aagent2 = Atomic_Agent('T', ['u'], 'cyt') self.Aagent22 = Atomic_Agent('T', ['p'], 'cyt') self.Aagent23 = Atomic_Agent('T', ['u', 'p'], 'cyt') self.Aagent3 = Atomic_Agent('N', ['u'], 'cyt') self.Aagent32 = Atomic_Agent('N', ['p'], 'cyt') self.Aagent33 = Atomic_Agent('N', ['u', 'p'], 'cyt') self.Sagent1 = Structure_Agent('KaiC', [self.Aagent1, self.Aagent2], 'cyt') self.Sagent2 = Structure_Agent('KaiC', [self.Aagent2, self.Aagent1], 'cyt') self.Sagent3 = Structure_Agent('KaiC', [self.Aagent2, self.Aagent3], 'cyt') self.Sagent4 = Structure_Agent('KaiC', [self.Aagent13, self.Aagent23], 'cyt') self.Sagent5 = Structure_Agent('KaiC', [self.Aagent12, self.Aagent22, self.Aagent32], 'cyt') self.Sagent6 = Structure_Agent('KaiC', [self.Aagent22, self.Aagent12], 'cyt') self.Sagent7 = Structure_Agent('KaiC', [self.Aagent13, self.Aagent2], 'cyt') self.Sagent8 = Structure_Agent('KaiC', [self.Aagent1, self.Aagent23], 'cyt') self.Sagent9 = Structure_Agent('KaiC', [self.Aagent1, self.Aagent22], 'cyt') self.Sagent10 = Structure_Agent('KaiC', [], 'cyt') def test_equal(self): self.assertTrue(self.Sagent1.__eq__(self.Sagent2)) self.assertTrue(self.Sagent1.__eq__(self.Sagent1)) self.assertFalse(self.Sagent1.__eq__(self.Sagent3)) def test_print(self): self.assertEqual(self.Sagent1.__str__(), self.Sagent1.__str__()) self.assertEqual(self.Sagent1.__str__(), self.Sagent2.__str__()) self.assertEqual(self.Sagent3.__str__(), 'KaiC(N{u}|T{u})::cyt') self.assertEqual(self.Sagent10.__str__(), 'KaiC::cyt') def test_hash(self): self.assertEqual(hash(self.Sagent1), hash(self.Sagent1)) self.assertEqual(hash(self.Sagent1), hash(self.Sagent2)) self.assertNotEqual(hash(self.Sagent2), hash(self.Sagent3)) def test_isCompatibleWith(self): self.assertTrue(self.Sagent1.isCompatibleWith(self.Sagent4)) self.assertTrue(self.Sagent1.isCompatibleWith(self.Sagent10)) self.assertFalse(self.Sagent3.isCompatibleWith(self.Sagent4)) self.assertFalse(self.Sagent6.isCompatibleWith(self.Sagent5)) self.assertTrue(self.Sagent5.isCompatibleWith(self.Sagent6)) self.assertFalse(self.Sagent8.isCompatibleWith(self.Sagent7)) self.assertTrue(self.Sagent9.isCompatibleWith(self.Sagent8)) def test_setter(self): self.Sagent1.setPartialComposition([self.Aagent13, self.Aagent23]) self.assertTrue(self.Sagent4.__eq__(self.Sagent1)) def test_comparing(self): self.assertTrue(self.Sagent2 > self.Sagent3) self.assertFalse(self.Sagent7 < self.Sagent1)