def test_strategy(self): team = [axelrod.TitForTat, axelrod.Cooperator, axelrod.Grudger] distribution = [.2, .5, .3] P1 = axelrod.MetaMixer(team, distribution) P2 = axelrod.Cooperator() for k in range(100): P1.play(P2) self.assertEqual(P1.history[-1], C) team.append(axelrod.Defector) distribution = [.2, .5, .3, 0] # If add a defector but does not occur P1 = axelrod.MetaMixer(team, distribution) for k in range(100): P1.play(P2) self.assertEqual(P1.history[-1], C) distribution = [0, 0, 0, 1] # If defector is only one that is played P1 = axelrod.MetaMixer(team, distribution) for k in range(100): P1.play(P2) self.assertEqual(P1.history[-1], D)
def test_strategy(self): team = [axelrod.TitForTat, axelrod.Cooperator, axelrod.Grudger] distribution = [.2, .5, .3] P1 = axelrod.MetaMixer(team=team, distribution=distribution) P2 = axelrod.Cooperator() actions = [(C, C)] * 20 self.versus_test(opponent=axelrod.Cooperator(), expected_actions=actions, init_kwargs={ "team": team, "distribution": distribution }) team.append(axelrod.Defector) distribution = [.2, .5, .3, 0] # If add a defector but does not occur self.versus_test(opponent=axelrod.Cooperator(), expected_actions=actions, init_kwargs={ "team": team, "distribution": distribution }) distribution = [0, 0, 0, 1] # If defector is only one that is played actions = [(D, C)] * 20 self.versus_test(opponent=axelrod.Cooperator(), expected_actions=actions, init_kwargs={ "team": team, "distribution": distribution })
def test_raise_error_in_distribution(self): team = [axelrod.TitForTat, axelrod.Cooperator, axelrod.Grudger] distribution = [0.2, 0.5, 0.5] # Not a valid probability distribution player = axelrod.MetaMixer(team=team, distribution=distribution) opponent = axelrod.Cooperator() self.assertRaises(ValueError, player.strategy, opponent)
def test_raise_error_in_distribution(self): team = [axelrod.TitForTat, axelrod.Cooperator, axelrod.Grudger] distribution = [.2, .5, .5] # Not a valid probability distribution P1 = axelrod.MetaMixer(team, distribution) P2 = axelrod.Cooperator() self.assertRaises(ValueError, P1.strategy, P2)