Skip to content

Commit 9b2efb3

Browse files
committed
Update Joss Ann reclassifier + a test
1 parent 61f2c0e commit 9b2efb3

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

axelrod/strategy_transformers.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,16 @@ def jossann_reclassifier(original_classifier, probability):
683683
if probability in [(1, 0), (0, 1)]:
684684
# In this case the player's strategy is never actually called,
685685
# so even if it were stochastic the play is not.
686-
original_classifier["stochastic"] = False
686+
# Also the other classifiers are nulled as well.
687+
original_classifier = {
688+
"memory_depth": 0,
689+
"stochastic": False,
690+
"makes_use_of": set(),
691+
"long_run_time": False,
692+
"inspects_source": False,
693+
"manipulates_source": False,
694+
"manipulates_state": False,
695+
}
687696
else:
688697
original_classifier["stochastic"] = True
689698

axelrod/tests/unit/test_strategy_transformers.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -993,3 +993,17 @@ class TestJossAnnDual(TestPlayer):
993993
"manipulates_source": False,
994994
"manipulates_state": False,
995995
}
996+
997+
998+
class TestJossAnnOverwriteClassifier(TestPlayer):
999+
name = "Joss-Ann Final Random: 0.5: [D, D]: (1.0, 0.0)"
1000+
player = JossAnnTransformer((1., 0.))(FinalTransformer([D, D])(axl.Random))
1001+
expected_classifier = {
1002+
"memory_depth": 0,
1003+
"stochastic": False,
1004+
"makes_use_of": set(),
1005+
"long_run_time": False,
1006+
"inspects_source": False,
1007+
"manipulates_source": False,
1008+
"manipulates_state": False,
1009+
}

0 commit comments

Comments
 (0)