Exemplo n.º 1
0
 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 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)
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
 def test_hash(self):
     clone = PDOrg(self.geno)
     self.assertEqual(hash(clone), hash(self.org))
Exemplo n.º 5
0
 def test_will_cooperate_empty(self):
     org = PDOrg(Geno(0, [True], []))
     did_cooperate = org.will_cooperate()
     self.assertEqual(did_cooperate, True)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
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)
Exemplo n.º 8
0
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)
        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))
 def test_will_cooperate_empty(self):
     org = PDOrg(Geno(0, [True], []))
     did_cooperate = org.will_cooperate()
     self.assertEqual(did_cooperate, True)
Exemplo n.º 10
0
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))
Exemplo n.º 11
0
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)