Skip to content

Commit ee4eb1c

Browse files
yohmmarcharper
authored andcommitted
write test cases for noisy actions by specifying seeds
1 parent 4865136 commit ee4eb1c

File tree

1 file changed

+32
-19
lines changed

1 file changed

+32
-19
lines changed

axelrod/tests/strategies/test_grudger.py

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -382,25 +382,38 @@ def test_strategy(self):
382382
actions = [(C, C)] * 10 + [(C, D)] + [(D, D)] + [(D,C)] * 9
383383
self.versus_test(opponent, expected_actions=actions)
384384

385-
def test_prescriptions(self):
385+
def test_noisy_actions(self):
386386
# accept punishment when making a mistake
387-
self.assert_prescription([C,C,D], [C,C,C], C)
388-
self.assert_prescription([C,D,C], [C,C,D], C)
389-
self.assert_prescription([D,C,C], [C,D,C], C)
390-
self.assert_prescription([C,C,C], [D,C,C], C)
391-
392-
# recover the cooperation from mutual defection
393-
self.assert_prescription([D,D,C], [D,D,D], C)
394-
self.assert_prescription([D,C,C], [D,D,C], C)
395-
self.assert_prescription([C,C,C], [D,C,C], C)
396-
397-
self.assert_prescription([D,D,D], [D,D,C], C)
398-
self.assert_prescription([D,D,C], [D,C,C], C)
399-
self.assert_prescription([D,C,C], [C,C,C], C)
400-
401-
self.assert_prescription([D,D,C], [D,D,C], C)
402-
self.assert_prescription([D,C,C], [D,C,C], C)
387+
actions1 = [C,C,D,C,C,C,C]
388+
actions2 = [C,C,C,D,C,C,C]
389+
opponent = axl.MockPlayer(actions=actions2)
390+
self.versus_test(opponent, expected_actions=list(zip(actions1,actions2)), noise=0.1, seed=20)
391+
392+
# recover the cooperation when the opponent cooperated from mutual defection
393+
actions1 = [C,D,D,D,D,C,C,C]
394+
actions2 = [D,D,D,D,C,C,C,C]
395+
opponent = axl.MockPlayer(actions=actions2)
396+
self.versus_test(opponent, expected_actions=list(zip(actions1,actions2)), noise=0)
397+
398+
# recover the cooperation when the player cooperated by mistake from mutual defection
399+
actions1 = [C,D,D,D,C,C,C,C]
400+
actions2 = [D,D,D,D,D,C,C,C]
401+
opponent = axl.MockPlayer(actions=actions2)
402+
self.versus_test(opponent, expected_actions=list(zip(actions1,actions2)), noise=0.1, seed=72)
403+
404+
# recover the cooperation when the focal and the opponent player cooperated by mistake from mutual defection
405+
actions1 = [C,D,D,D,C,C,C,C]
406+
actions2 = [D,D,D,D,C,C,C,C]
407+
opponent = axl.MockPlayer(actions=actions2)
408+
self.versus_test(opponent, expected_actions=list(zip(actions1,actions2)), noise=0.1, seed=72)
403409

404410
# in other cases, defect
405-
self.assert_prescription([D,C,C], [D,D,D], D)
406-
self.assert_prescription([C,D,C], [C,C,C], D)
411+
actions1 = [C,D,C,C,D,D,D,D]
412+
actions2 = [D,D,D,D,D,C,C,D]
413+
opponent = axl.MockPlayer(actions=actions2)
414+
self.versus_test(opponent, expected_actions=list(zip(actions1,actions2)), noise=0.1, seed=452)
415+
416+
actions1 = [C,D,C,D]
417+
actions2 = [C,C,C,D]
418+
opponent = axl.MockPlayer(actions=actions2)
419+
self.versus_test(opponent, expected_actions=list(zip(actions1,actions2)), noise=0.1, seed=15)

0 commit comments

Comments
 (0)