11import unittest
22import warnings
33
4+ import axelrod as axl
5+ from axelrod .tests .property import strategy_lists
6+
47from hypothesis import example , given , settings
58from hypothesis .strategies import integers
69
7- from axelrod import filtered_strategies , seed , short_run_time_strategies
8- from axelrod import Classifiers
9- from axelrod .tests .property import strategy_lists
10-
1110
1211class TestFiltersAgainstComprehensions (unittest .TestCase ):
1312 """
1413 Test that the results of filtering strategies via a filterset dict
1514 match the results from using a list comprehension.
1615 """
16+
1717 def setUp (self ) -> None :
1818 # Ignore warnings about classifiers running on instances
1919 warnings .simplefilter ("ignore" , category = UserWarning )
@@ -33,9 +33,9 @@ def test_boolean_filtering(self, strategies):
3333 ]
3434
3535 for classifier in classifiers :
36- comprehension = set (filter (Classifiers [classifier ], strategies ))
36+ comprehension = set (filter (axl . Classifiers [classifier ], strategies ))
3737 filterset = {classifier : True }
38- filtered = set (filtered_strategies (filterset , strategies = strategies ))
38+ filtered = set (axl . filtered_strategies (filterset , strategies = strategies ))
3939 self .assertEqual (comprehension , filtered )
4040
4141 @given (
@@ -48,43 +48,54 @@ def test_boolean_filtering(self, strategies):
4848 min_memory_depth = float ("inf" ),
4949 max_memory_depth = float ("inf" ),
5050 memory_depth = float ("inf" ),
51- strategies = short_run_time_strategies ,
51+ strategies = axl . short_run_time_strategies ,
5252 )
5353 @settings (max_examples = 5 )
5454 def test_memory_depth_filtering (
55- self , min_memory_depth , max_memory_depth , memory_depth ,
56- strategies
55+ self , min_memory_depth , max_memory_depth , memory_depth , strategies
5756 ):
5857
5958 min_comprehension = set (
60- [s for s in strategies if
61- Classifiers ["memory_depth" ](s ) >= min_memory_depth ]
59+ [
60+ s
61+ for s in strategies
62+ if axl .Classifiers ["memory_depth" ](s ) >= min_memory_depth
63+ ]
6264 )
6365 min_filterset = {"min_memory_depth" : min_memory_depth }
64- min_filtered = set (filtered_strategies (min_filterset ,
65- strategies = strategies ))
66+ min_filtered = set (
67+ axl .filtered_strategies (min_filterset , strategies = strategies )
68+ )
6669 self .assertEqual (min_comprehension , min_filtered )
6770
6871 max_comprehension = set (
69- [s for s in strategies if
70- Classifiers ["memory_depth" ](s ) <= max_memory_depth ]
72+ [
73+ s
74+ for s in strategies
75+ if axl .Classifiers ["memory_depth" ](s ) <= max_memory_depth
76+ ]
7177 )
7278 max_filterset = {"max_memory_depth" : max_memory_depth }
73- max_filtered = set (filtered_strategies (max_filterset ,
74- strategies = strategies ))
79+ max_filtered = set (
80+ axl .filtered_strategies (max_filterset , strategies = strategies )
81+ )
7582 self .assertEqual (max_comprehension , max_filtered )
7683
7784 comprehension = set (
78- [s for s in strategies if
79- Classifiers ["memory_depth" ](s ) == memory_depth ]
85+ [
86+ s
87+ for s in strategies
88+ if axl .Classifiers ["memory_depth" ](s ) == memory_depth
89+ ]
8090 )
8191 filterset = {"memory_depth" : memory_depth }
82- filtered = set (filtered_strategies (filterset , strategies = strategies ))
92+ filtered = set (axl . filtered_strategies (filterset , strategies = strategies ))
8393 self .assertEqual (comprehension , filtered )
8494
85- @given (seed_ = integers (min_value = 0 , max_value = 4294967295 ),
86- strategies = strategy_lists (min_size = 20 , max_size = 20 ),
87- )
95+ @given (
96+ seed_ = integers (min_value = 0 , max_value = 4294967295 ),
97+ strategies = strategy_lists (min_size = 20 , max_size = 20 ),
98+ )
8899 @settings (max_examples = 5 )
89100 def test_makes_use_of_filtering (self , seed_ , strategies ):
90101 """
@@ -95,16 +106,18 @@ def test_makes_use_of_filtering(self, seed_, strategies):
95106 classifiers = [["game" ], ["length" ], ["game" , "length" ]]
96107
97108 for classifier in classifiers :
98- seed (seed_ )
109+ axl . seed (seed_ )
99110 comprehension = set (
100- [s for s in strategies if set (classifier ).issubset (
101- set (Classifiers ["makes_use_of" ](s )))]
111+ [
112+ s
113+ for s in strategies
114+ if set (classifier ).issubset (set (axl .Classifiers ["makes_use_of" ](s )))
115+ ]
102116 )
103117
104- seed (seed_ )
118+ axl . seed (seed_ )
105119 filterset = {"makes_use_of" : classifier }
106- filtered = set (
107- filtered_strategies (filterset , strategies = strategies ))
120+ filtered = set (axl .filtered_strategies (filterset , strategies = strategies ))
108121
109122 self .assertEqual (
110123 comprehension , filtered , msg = "classifier: {}" .format (classifier )
0 commit comments