Skip to content

Commit f719bbb

Browse files
committed
Silence warnings on test, and pass instances elsewhere
1 parent e83c8f7 commit f719bbb

File tree

11 files changed

+46
-48
lines changed

11 files changed

+46
-48
lines changed

axelrod/__init__.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
DEFAULT_TURNS = 200
22

3-
# We allow behavior at initialization that we don't want users to do.
4-
import warnings
5-
warnings.simplefilter('ignore', category=UserWarning)
6-
73
# The order of imports matters!
84
from axelrod.version import __version__
95
from axelrod.load_data_ import load_pso_tables, load_weights
@@ -26,5 +22,3 @@
2622
from axelrod.result_set import ResultSet
2723
from axelrod.ecosystem import Ecosystem
2824
from axelrod.fingerprint import AshlockFingerprint, TransitiveFingerprint
29-
30-
warnings.simplefilter('default', category=UserWarning)

axelrod/strategies/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,16 +80,16 @@
8080
FirstByAnonymous,
8181
Random,
8282
]
83-
basic_strategies = [s for s in all_strategies if Classifiers.is_basic(s)]
84-
strategies = [s for s in all_strategies if Classifiers.obey_axelrod(s)]
83+
basic_strategies = [s for s in all_strategies if Classifiers.is_basic(s())]
84+
strategies = [s for s in all_strategies if Classifiers.obey_axelrod(s())]
8585

8686
long_run_time_strategies = [
87-
s for s in all_strategies if Classifiers["long_run_time"](s)
87+
s for s in all_strategies if Classifiers["long_run_time"](s())
8888
]
8989
short_run_time_strategies = [
90-
s for s in strategies if not Classifiers["long_run_time"](s)
90+
s for s in strategies if not Classifiers["long_run_time"](s())
9191
]
92-
cheating_strategies = [s for s in all_strategies if not Classifiers.obey_axelrod(s)]
92+
cheating_strategies = [s for s in all_strategies if not Classifiers.obey_axelrod(s())]
9393

9494
ordinary_strategies = strategies # This is a legacy and will be removed
9595

axelrod/strategies/meta.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
)
2121

2222
# Needs to be computed manually to prevent circular dependency
23-
ordinary_strategies = [s for s in all_strategies if Classifiers.obey_axelrod(s)]
23+
ordinary_strategies = [s for s in all_strategies if Classifiers.obey_axelrod(s())]
2424

2525
C, D = Action.C, Action.D
2626

@@ -332,7 +332,7 @@ class MetaMajorityMemoryOne(MetaMajority):
332332
name = "Meta Majority Memory One"
333333

334334
def __init__(self):
335-
team = [s for s in ordinary_strategies if Classifiers["memory_depth"](s) <= 1]
335+
team = [s for s in ordinary_strategies if Classifiers["memory_depth"](s()) <= 1]
336336
super().__init__(team=team)
337337
self.classifier["long_run_time"] = False
338338

@@ -351,7 +351,7 @@ def __init__(self):
351351
team = [
352352
s
353353
for s in ordinary_strategies
354-
if Classifiers["memory_depth"](s) < float("inf")
354+
if Classifiers["memory_depth"](s()) < float("inf")
355355
]
356356
super().__init__(team=team)
357357

@@ -370,7 +370,7 @@ def __init__(self):
370370
team = [
371371
s
372372
for s in ordinary_strategies
373-
if Classifiers["memory_depth"](s) == float("inf")
373+
if Classifiers["memory_depth"](s()) == float("inf")
374374
]
375375
super().__init__(team=team)
376376

@@ -386,7 +386,7 @@ class MetaWinnerMemoryOne(MetaWinner):
386386
name = "Meta Winner Memory One"
387387

388388
def __init__(self):
389-
team = [s for s in ordinary_strategies if Classifiers["memory_depth"](s) <= 1]
389+
team = [s for s in ordinary_strategies if Classifiers["memory_depth"](s()) <= 1]
390390
super().__init__(team=team)
391391
self.classifier["long_run_time"] = False
392392

@@ -405,7 +405,7 @@ def __init__(self):
405405
team = [
406406
s
407407
for s in ordinary_strategies
408-
if Classifiers["memory_depth"](s) < float("inf")
408+
if Classifiers["memory_depth"](s()) < float("inf")
409409
]
410410
super().__init__(team=team)
411411

@@ -424,7 +424,7 @@ def __init__(self):
424424
team = [
425425
s
426426
for s in ordinary_strategies
427-
if Classifiers["memory_depth"](s) == float("inf")
427+
if Classifiers["memory_depth"](s()) == float("inf")
428428
]
429429
super().__init__(team=team)
430430

@@ -440,7 +440,7 @@ class MetaWinnerDeterministic(MetaWinner):
440440
name = "Meta Winner Deterministic"
441441

442442
def __init__(self):
443-
team = [s for s in ordinary_strategies if not Classifiers["stochastic"](s)]
443+
team = [s for s in ordinary_strategies if not Classifiers["stochastic"](s())]
444444
super().__init__(team=team)
445445
self.classifier["stochastic"] = False
446446

@@ -456,7 +456,7 @@ class MetaWinnerStochastic(MetaWinner):
456456
name = "Meta Winner Stochastic"
457457

458458
def __init__(self):
459-
team = [s for s in ordinary_strategies if Classifiers["stochastic"](s)]
459+
team = [s for s in ordinary_strategies if Classifiers["stochastic"](s())]
460460
super().__init__(team=team)
461461

462462

@@ -512,7 +512,7 @@ class NMWEDeterministic(NiceMetaWinnerEnsemble):
512512
name = "NMWE Deterministic"
513513

514514
def __init__(self):
515-
team = [s for s in ordinary_strategies if not Classifiers["stochastic"](s)]
515+
team = [s for s in ordinary_strategies if not Classifiers["stochastic"](s())]
516516
super().__init__(team=team)
517517
self.classifier["stochastic"] = True
518518

@@ -528,7 +528,7 @@ class NMWEStochastic(NiceMetaWinnerEnsemble):
528528
name = "NMWE Stochastic"
529529

530530
def __init__(self):
531-
team = [s for s in ordinary_strategies if Classifiers["stochastic"](s)]
531+
team = [s for s in ordinary_strategies if Classifiers["stochastic"](s())]
532532
super().__init__(team=team)
533533

534534

@@ -546,7 +546,7 @@ def __init__(self):
546546
team = [
547547
s
548548
for s in ordinary_strategies
549-
if Classifiers["memory_depth"](s) < float("inf")
549+
if Classifiers["memory_depth"](s()) < float("inf")
550550
]
551551
super().__init__(team=team)
552552

@@ -565,7 +565,7 @@ def __init__(self):
565565
team = [
566566
s
567567
for s in ordinary_strategies
568-
if Classifiers["memory_depth"](s) == float("inf")
568+
if Classifiers["memory_depth"](s()) == float("inf")
569569
]
570570
super().__init__(team=team)
571571

@@ -581,7 +581,7 @@ class NMWEMemoryOne(NiceMetaWinnerEnsemble):
581581
name = "NMWE Memory One"
582582

583583
def __init__(self):
584-
team = [s for s in ordinary_strategies if Classifiers["memory_depth"](s) <= 1]
584+
team = [s for s in ordinary_strategies if Classifiers["memory_depth"](s()) <= 1]
585585
super().__init__(team=team)
586586
self.classifier["long_run_time"] = False
587587

axelrod/tests/integration/test_filtering.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import unittest
2+
import warnings
23

34
from hypothesis import example, given, settings
45
from hypothesis.strategies import integers
@@ -13,6 +14,9 @@ class TestFiltersAgainstComprehensions(unittest.TestCase):
1314
Test that the results of filtering strategies via a filterset dict
1415
match the results from using a list comprehension.
1516
"""
17+
def setUp(self) -> None:
18+
# Ignore warnings about classifiers running on instances
19+
warnings.simplefilter("ignore", category=UserWarning)
1620

1721
@given(strategies=strategy_lists(min_size=20, max_size=20))
1822
def test_boolean_filtering(self, strategies):

axelrod/tests/integration/test_matches.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
C, D = axelrod.Action.C, axelrod.Action.D
1212

1313
deterministic_strategies = [
14-
s for s in axelrod.short_run_time_strategies if not Classifiers["stochastic"](s)
14+
s for s in axelrod.short_run_time_strategies if not Classifiers["stochastic"](s())
1515
]
1616
stochastic_strategies = [
17-
s for s in axelrod.short_run_time_strategies if Classifiers["stochastic"](s)
17+
s for s in axelrod.short_run_time_strategies if Classifiers["stochastic"](s())
1818
]
1919

2020

axelrod/tests/integration/test_tournament.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ def test_repeat_tournament_deterministic(self):
8282
deterministic_players = [
8383
s()
8484
for s in axelrod.short_run_time_strategies
85-
if not Classifiers["stochastic"](s)
85+
if not Classifiers["stochastic"](s())
8686
]
8787
files = []
8888
for _ in range(2):
@@ -105,7 +105,7 @@ def test_repeat_tournament_stochastic(self):
105105
for _ in range(2):
106106
axelrod.seed(0)
107107
stochastic_players = [s() for s in axelrod.short_run_time_strategies
108-
if Classifiers["stochastic"](s)]
108+
if Classifiers["stochastic"](s())]
109109
tournament = axelrod.Tournament(
110110
name="test",
111111
players=stochastic_players,

axelrod/tests/strategies/test_player.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
C, D = axelrod.Action.C, axelrod.Action.D
1818

1919
short_run_time_short_mem = [
20-
s for s in axelrod.short_run_time_strategies if Classifiers["memory_depth"](s) <= 10
20+
s for s in axelrod.short_run_time_strategies if Classifiers["memory_depth"](s()) <= 10
2121
]
2222

2323

axelrod/tests/strategies/test_titfortat.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,7 @@ class TestContriteTitForTat(TestPlayer):
708708
}
709709

710710
deterministic_strategies = [
711-
s for s in axelrod.strategies if not Classifiers["stochastic"](s)
711+
s for s in axelrod.strategies if not Classifiers["stochastic"](s())
712712
]
713713

714714
def test_init(self):

axelrod/tests/unit/test_property.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
)
1616

1717
stochastic_strategies = [
18-
s for s in axelrod.strategies if Classifiers["stochastic"](s)
18+
s for s in axelrod.strategies if Classifiers["stochastic"](s())
1919
]
2020

2121

axelrod/tests/unit/test_strategy_transformers.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -314,27 +314,27 @@ def test_jossann_transformer(self):
314314

315315
probability = (0, 1)
316316
p1 = JossAnnTransformer(probability)(axelrod.Random)
317-
self.assertFalse(Classifiers["stochastic"](p1))
317+
self.assertFalse(Classifiers["stochastic"](p1()))
318318

319319
probability = (1, 0)
320320
p1 = JossAnnTransformer(probability)(axelrod.Random)
321-
self.assertFalse(Classifiers["stochastic"](p1))
321+
self.assertFalse(Classifiers["stochastic"](p1()))
322322

323323
probability = (0.5, 0.5)
324324
p1 = JossAnnTransformer(probability)(axelrod.TitForTat)
325-
self.assertTrue(Classifiers["stochastic"](p1))
325+
self.assertTrue(Classifiers["stochastic"](p1()))
326326

327327
probability = (0, 0.5)
328328
p1 = JossAnnTransformer(probability)(axelrod.TitForTat)
329-
self.assertTrue(Classifiers["stochastic"](p1))
329+
self.assertTrue(Classifiers["stochastic"](p1()))
330330

331331
probability = (0, 0)
332332
p1 = JossAnnTransformer(probability)(axelrod.TitForTat)
333-
self.assertFalse(Classifiers["stochastic"](p1))
333+
self.assertFalse(Classifiers["stochastic"](p1()))
334334

335335
probability = (0, 0)
336336
p1 = JossAnnTransformer(probability)(axelrod.Random)
337-
self.assertTrue(Classifiers["stochastic"](p1))
337+
self.assertTrue(Classifiers["stochastic"](p1()))
338338

339339
def test_noisy_transformer(self):
340340
"""Tests that the noisy transformed does flip some moves."""
@@ -348,19 +348,19 @@ def test_noisy_transformer(self):
348348
self.assertEqual(p2.history, [C, C, C, C, C, C, D, D, C, C])
349349

350350
p2 = NoisyTransformer(0)(axelrod.Cooperator)
351-
self.assertFalse(Classifiers["stochastic"](p2))
351+
self.assertFalse(Classifiers["stochastic"](p2()))
352352

353353
p2 = NoisyTransformer(1)(axelrod.Cooperator)
354-
self.assertFalse(Classifiers["stochastic"](p2))
354+
self.assertFalse(Classifiers["stochastic"](p2()))
355355

356356
p2 = NoisyTransformer(0.3)(axelrod.Cooperator)
357-
self.assertTrue(Classifiers["stochastic"](p2))
357+
self.assertTrue(Classifiers["stochastic"](p2()))
358358

359359
p2 = NoisyTransformer(0)(axelrod.Random)
360-
self.assertTrue(Classifiers["stochastic"](p2))
360+
self.assertTrue(Classifiers["stochastic"](p2()))
361361

362362
p2 = NoisyTransformer(1)(axelrod.Random)
363-
self.assertTrue(Classifiers["stochastic"](p2))
363+
self.assertTrue(Classifiers["stochastic"](p2()))
364364

365365
def test_forgiving(self):
366366
"""Tests that the forgiving transformer flips some defections."""
@@ -525,7 +525,7 @@ def test_mixed(self):
525525
"""Tests the MixedTransformer."""
526526
probability = 1
527527
MD = MixedTransformer(probability, axelrod.Cooperator)(axelrod.Defector)
528-
self.assertFalse(Classifiers["stochastic"](MD))
528+
self.assertFalse(Classifiers["stochastic"](MD()))
529529

530530
p1 = MD()
531531
p2 = axelrod.Cooperator()
@@ -535,7 +535,7 @@ def test_mixed(self):
535535

536536
probability = 0
537537
MD = MixedTransformer(probability, axelrod.Cooperator)(axelrod.Defector)
538-
self.assertFalse(Classifiers["stochastic"](MD))
538+
self.assertFalse(Classifiers["stochastic"](MD()))
539539

540540
p1 = MD()
541541
p2 = axelrod.Cooperator()
@@ -549,7 +549,7 @@ def test_mixed(self):
549549
probability = [0.3, 0.2, 0]
550550
strategies = [axelrod.TitForTat, axelrod.Grudger, axelrod.Defector]
551551
MD = MixedTransformer(probability, strategies)(axelrod.Cooperator)
552-
self.assertTrue(Classifiers["stochastic"](MD))
552+
self.assertTrue(Classifiers["stochastic"](MD()))
553553

554554
p1 = MD()
555555
# Against a cooperator we see that we only cooperate
@@ -562,7 +562,7 @@ def test_mixed(self):
562562
probability = (0, 0, 1) # Note can also pass tuple
563563
strategies = [axelrod.TitForTat, axelrod.Grudger, axelrod.Defector]
564564
MD = MixedTransformer(probability, strategies)(axelrod.Cooperator)
565-
self.assertFalse(Classifiers["stochastic"](MD))
565+
self.assertFalse(Classifiers["stochastic"](MD()))
566566

567567
p1 = MD()
568568
# Against a cooperator we see that we only defect

0 commit comments

Comments
 (0)