class TestPDOrg(unittest.TestCase): def setUp(self): pd_org.MAX_BITS_OF_MEMORY = 5 pd_org.MUTATION_LIKELIHOOD_OF_BITS_OF_MEMORY = .33 pd_org.MUTATION_LIKELIHOOD_OF_INITIAL_MEMORY_STATE = .33 num_bits = 2 decision_list = [True, False, False, True] initial_mem = [True, False] self.geno = Geno(num_bits, decision_list, initial_mem) self.org = PDOrg(self.geno) def test_init(self): """ Tests if genotype given to PDOrg constructor """ self.assertEqual(self.org.genotype, self.geno) self.assertSequenceEqual(self.org.memory, self.geno.initial_memory) def test_init_no_geno(self): """ Test if no genotype is given to PDOrg constructor """ random_org = PDOrg() self.assertIsInstance(random_org.genotype, Geno) def test_get_mutant(self): mutant_org = self.org.get_mutant() self.assertNotEqual(mutant_org.genotype, self.org.genotype) def test_eq(self): other_org = PDOrg(Geno(1, [False, True], [True])) same_org = PDOrg(self.geno) self.assertNotEqual(self.org, other_org) self.assertEqual(self.org, same_org) def test_str(self): expected = "PDOrg(MemoryPDGenotype(2, [True, False, False, True], [True, False]))" result = str(self.org) self.assertEqual(expected, result) repr_result = repr(self.org) self.assertEqual(expected, repr_result) def test_opponent_cooperated_last_round(self): self.org.opponent_cooperated_last_round(True) self.assertSequenceEqual([False, True], self.org.memory) self.org.opponent_cooperated_last_round(False) self.assertSequenceEqual([True, False], self.org.memory) def test_will_cooperate(self): did_cooperate = self.org.will_cooperate() self.assertEqual(False, did_cooperate) self.org.opponent_cooperated_last_round(True) did_cooperate = self.org.will_cooperate() self.assertEqual(False, did_cooperate) self.org.opponent_cooperated_last_round(True) did_cooperate = self.org.will_cooperate() self.assertEqual(True, did_cooperate)
def test_will_cooperate_empty(self): org = PDOrg(Geno(0, [True], [])) did_cooperate = org.will_cooperate() self.assertEqual(did_cooperate, True)
class TestPDOrg(unittest.TestCase): def setUp(self): pd_org.MAX_BITS_OF_MEMORY = 5 pd_org.MUTATION_LIKELIHOOD_OF_BITS_OF_MEMORY = 0.33 pd_org.MUTATION_LIKELIHOOD_OF_INITIAL_MEMORY_STATE = 0.33 num_bits = 2 decision_list = [True, False, False, True] initial_mem = [True, False] self.geno = Geno(num_bits, decision_list, initial_mem) self.org = PDOrg(self.geno) def test_init(self): """ Tests if genotype given to PDOrg constructor """ self.assertEqual(self.org.genotype, self.geno) self.assertSequenceEqual(self.org.memory, self.geno.initial_memory) PDOrg.next_org_id = 0 org_two = PDOrg(self.geno, 0) self.assertEqual(org_two.id, 0) self.assertEqual(org_two.parent, 0) def test_init_no_geno(self): """ Test if no genotype is given to PDOrg constructor """ random_org = PDOrg() self.assertIsInstance(random_org.genotype, Geno) def test_get_mutant(self): mutant_org = self.org.get_mutant() self.assertNotEqual(mutant_org.genotype, self.org.genotype) def test_eq(self): other_org = PDOrg(Geno(1, [False, True], [True])) same_org = PDOrg(self.geno) self.assertNotEqual(self.org, other_org) self.assertEqual(self.org, same_org) def test_str(self): expected = "PDOrg(MemoryPDGenotype(2, [True, False, False, True], [True, False]))" result = str(self.org) self.assertEqual(expected, result) repr_result = repr(self.org) self.assertEqual(expected, repr_result) def test_store_bit_of_memory(self): self.org.store_bit_of_memory(True) self.org.store_bit_of_memory(False) self.assertSequenceEqual([True, False], self.org.memory) self.org.store_bit_of_memory(False) self.org.store_bit_of_memory(True) self.assertSequenceEqual([False, True], self.org.memory) def test_will_cooperate(self): did_cooperate = self.org.will_cooperate() self.assertEqual(False, did_cooperate) self.org.store_bit_of_memory(True) did_cooperate = self.org.will_cooperate() self.assertEqual(False, did_cooperate) self.org.store_bit_of_memory(True) did_cooperate = self.org.will_cooperate() self.assertEqual(True, did_cooperate) def test_will_cooperate_empty(self): org = PDOrg(Geno(0, [True], [])) did_cooperate = org.will_cooperate() self.assertEqual(did_cooperate, True) def test_initialize_memory(self): did_cooperate = self.org.will_cooperate() self.assertEqual(False, did_cooperate) self.org.store_bit_of_memory(True) did_cooperate = self.org.will_cooperate() self.assertEqual(False, did_cooperate) self.org.initialize_memory() self.org.store_bit_of_memory(True) did_cooperate = self.org.will_cooperate() self.assertEqual(False, did_cooperate) def test_hash(self): clone = PDOrg(self.geno) self.assertEqual(hash(clone), hash(self.org))