Skip to content

Commit

Permalink
Fix reclassifier for joss ann.
Browse files Browse the repository at this point in the history
  • Loading branch information
drvinceknight committed Apr 14, 2017
1 parent 170c209 commit 149e2e6
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
4 changes: 2 additions & 2 deletions axelrod/strategy_transformers.py
Original file line number Diff line number Diff line change
Expand Up @@ -478,9 +478,9 @@ def jossann_reclassifier(original_classifier, probability):
if sum(probability) > 1:
probability = tuple([i / sum(probability) for i in probability])

if probability[0] in [0, 1]:
if probability in [(1, 0), (0, 1)]:
original_classifier["stochastic"] = False
else:
elif sum(probability) != 0:
original_classifier["stochastic"] = True

return original_classifier
Expand Down
16 changes: 16 additions & 0 deletions axelrod/tests/unit/test_strategy_transformers.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,22 @@ def test_jossann_transformer(self):
self.assertTrue(p1.classifier["stochastic"])
self.assertTrue(p1().classifier["stochastic"])

probability = (0, .5)
p1 = JossAnnTransformer(probability)(axelrod.TitForTat)
self.assertTrue(p1.classifier["stochastic"])
self.assertTrue(p1().classifier["stochastic"])

probability = (0, 0)
p1 = JossAnnTransformer(probability)(axelrod.TitForTat)
self.assertFalse(p1.classifier["stochastic"])
self.assertFalse(p1().classifier["stochastic"])

probability = (0, 0)
p1 = JossAnnTransformer(probability)(axelrod.Random)
self.assertTrue(p1.classifier["stochastic"])
self.assertTrue(p1().classifier["stochastic"])


def test_noisy_transformer(self):
"""Tests that the noisy transformed does flip some moves."""
random.seed(5)
Expand Down

0 comments on commit 149e2e6

Please sign in to comment.