Skip to content

Commit 28c5736

Browse files
committed
Refactor memory two test.
Addresses #884.
1 parent 19b2022 commit 28c5736

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

axelrod/tests/strategies/test_memorytwo.py

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,27 @@ class TestMEM2(TestPlayer):
2222
}
2323

2424
def test_strategy(self):
25+
self.first_play_test(C)
2526
# Start with TFT
26-
self.responses_test([C])
27-
self.responses_test([C], [C], [C])
28-
self.responses_test([D], [C], [D])
29-
# TFT if mutual cooperation on first two rounds
30-
self.responses_test([C], [C, C], [C, C])
31-
self.responses_test([D], [C, D], [D, D])
27+
actions = [(C, C), (C, C)]
28+
self.versus_test(opponent=axelrod.Cooperator(),
29+
expected_actions=actions,
30+
attrs={"play_as": "TFT", "shift_counter": 1,
31+
"alld_counter": 0})
32+
actions = [(C, D), (D, D)]
33+
self.versus_test(opponent=axelrod.Defector(), expected_actions=actions,
34+
attrs={"play_as": "TFT", "shift_counter": 1,
35+
"alld_counter": 0})
3236
# TFTT if C, D and D, C
33-
self.responses_test([C], [C, C, C, D], [C, C, D, C])
34-
self.responses_test([D], [C, C, C, D, C, D], [C, C, D, C, D, D])
35-
# TFTT if D, C and C, D
36-
self.responses_test([C], [C, C, D, C], [C, D, C, D])
37-
self.responses_test([D], [C, C, D, C, C, D], [C, C, D, C, D, D])
38-
# ALLD Otherwise
39-
self.responses_test([D], [C, D], [D, D])
40-
self.responses_test([D], [C, D, D], [D, D, D])
41-
# ALLD forever if all D twice
42-
self.responses_test([D] * 10, [C, D, D, D, D, D], [D, D, D, D, D, D])
43-
self.responses_test([D] * 9, [C] + [D] * 5 + [C] * 4, [D] * 6 + [C] * 4)
37+
opponent = axelrod.MockPlayer([D, C, D, D])
38+
actions = [(C, D), (D, C), (C, D), (C, D)]
39+
self.versus_test(opponent=opponent, expected_actions=actions,
40+
attrs={"play_as": "TFTT", "shift_counter": 1,
41+
"alld_counter": 0})
42+
43+
opponent = axelrod.MockPlayer([D, C, D, D])
44+
actions = [(C, D), (D, C), (C, D), (C, D), (D, D),
45+
(D, C), (D, D), (D, D), (D, D), (D, C)]
46+
self.versus_test(opponent=opponent, expected_actions=actions,
47+
attrs={"play_as": "ALLD", "shift_counter": -1,
48+
"alld_counter": 2})

0 commit comments

Comments
 (0)