コード例 #1
0
 def test_reset_method(self):
     """Tests the reset method."""
     player = axl.ForgetfulGrudger()
     player.history = [C, D, D, D]
     player.grudged = True
     player.grudge_memory = 4
     player.reset()
     self.assertEqual(player.grudged, False)
     self.assertEqual(player.grudge_memory, 0)
コード例 #2
0
ファイル: test_grudger.py プロジェクト: seanhouser/Axelrod
 def test_reset_method(self):
     """Tests the reset method."""
     P1 = axelrod.ForgetfulGrudger()
     P1.history = [C, D, D, D]
     P1.grudged = True
     P1.grudge_memory = 4
     P1.reset()
     self.assertEqual(P1.grudged, False)
     self.assertEqual(P1.grudge_memory, 0)
コード例 #3
0
    def test_strategy(self):
        """
        Starts by cooperating
        """
        P1 = axelrod.ForgetfulGrudger()
        P2 = axelrod.Player()

        self.assertEqual(P1.grudged, False)

        # Starts by playing C
        self.assertEqual(P1.strategy(P2), 'C')
        self.assertEqual(P1.grudged, False)
        P2.history.append('C')

        self.assertEqual(P1.strategy(P2), 'C')
        self.assertEqual(P1.grudged, False)
        P2.history.append('C')

        self.assertEqual(P1.strategy(P2), 'C')
        self.assertEqual(P1.grudged, False)
        P2.history.append('C')

        self.assertEqual(P1.strategy(P2), 'C')
        self.assertEqual(P1.grudged, False)
        P2.history.append('D')

        self.assertEqual(P2.history, ['C', 'C', 'C', 'D'])
        self.assertEqual(P1.strategy(P2), 'D')
        self.assertEqual(P1.grudged, True)

        for turn in range(P1.mem_length-1):
            self.assertEqual(P1.strategy(P2), 'D')
            # Doesn't matter what opponent plays now
            P2.history.append(random.choice(['C', 'D']))
            self.assertEqual(P1.grudged, True)

        self.assertEqual(P1.strategy(P2), 'D')
        self.assertEqual(P1.grudge_memory, 10)
        self.assertEqual(P1.grudged, True)
        P2.history.append('C')

        # Back to being not grudged
        self.assertEqual(P1.strategy(P2), 'C')
        self.assertEqual(P1.grudged, False)
        P2.history.append('C')

        self.assertEqual(P1.strategy(P2), 'C')
        self.assertEqual(P1.grudged, False)
        P2.history.append('C')
コード例 #4
0
 def test_stochastic(self):
     self.assertFalse(axelrod.ForgetfulGrudger().stochastic)
コード例 #5
0
 def test_representation(self):
     P1 = axelrod.ForgetfulGrudger()
     self.assertEqual(str(P1), 'Forgetful Grudger')