@@ -54,101 +54,110 @@ def test_catalog_games_filter_n_actions(all_games):
5454 filtered_games = gbt .catalog .games (n_actions = 2 )
5555 assert isinstance (filtered_games , pd .DataFrame )
5656 assert len (filtered_games ) < len (all_games )
57- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
58- assert len (g .actions ) == 2
57+ if len (filtered_games ) > 0 :
58+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
59+ assert len (g .actions ) == 2
5960
6061
6162def test_catalog_games_filter_n_contingencies (all_games ):
6263 """Test games() function can filter on length of gbt.Game attribute 'contingencies'"""
6364 filtered_games = gbt .catalog .games (n_contingencies = 2 )
6465 assert isinstance (filtered_games , pd .DataFrame )
6566 assert len (filtered_games ) < len (all_games )
66- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
67- assert len (g .contingencies ) == 2
67+ if len (filtered_games ) > 0 :
68+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
69+ assert len (g .contingencies ) == 2
6870
6971
7072def test_catalog_games_filter_n_infosets (all_games ):
7173 """Test games() function can filter on length of gbt.Game attribute 'infosets'"""
7274 filtered_games = gbt .catalog .games (n_infosets = 2 )
7375 assert isinstance (filtered_games , pd .DataFrame )
7476 assert len (filtered_games ) < len (all_games )
75- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
76- assert len (g .infosets ) == 2
77+ if len (filtered_games ) > 0 :
78+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
79+ assert len (g .infosets ) == 2
7780
7881
7982def test_catalog_games_filter_is_const_sum (all_games ):
8083 """Test games() function can filter on boolean gbt.Game attribute 'is_const_sum'"""
8184 filtered_games = gbt .catalog .games (is_const_sum = True )
8285 assert isinstance (filtered_games , pd .DataFrame )
8386 assert len (filtered_games ) < len (all_games )
84- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
85- assert g .is_const_sum
87+ if len (filtered_games ) > 0 :
88+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
89+ assert g .is_const_sum
8690
8791
88- # TODO: Re-introduce this test when there are examples in the catalog without perfect recall
89- # def test_catalog_games_filter_is_perfect_recall(all_games):
90- # """Test games() function can filter on boolean gbt.Game attribute ' is_perfect_recall'"""
91- # filtered_games = gbt.catalog.games(is_perfect_recall=True )
92- # assert isinstance (filtered_games, pd.DataFrame )
93- # assert len(filtered_games) < len(all_games)
94- # g = gbt.catalog.load(filtered_games.Game.iloc[0])
95- # assert g.is_perfect_recall
92+ def test_catalog_games_filter_is_not_perfect_recall ( all_games ):
93+ """Test games() function can filter on boolean gbt.Game attribute 'is_perfect_recall'"""
94+ filtered_games = gbt .catalog . games ( is_perfect_recall = False )
95+ assert isinstance ( filtered_games , pd . DataFrame )
96+ assert len (filtered_games ) < len ( all_games )
97+ if len (filtered_games ) > 0 :
98+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
99+ assert not g .is_perfect_recall
96100
97101
98- # TODO: Re-introduce this test when there are examples in the catalog of normal form games
99- # def test_catalog_games_filter_is_tree(all_games):
100- # """Test games() function can filter on boolean gbt.Game attribute ' is_tree'"""
101- # filtered_games = gbt.catalog.games(is_tree=True )
102- # assert isinstance (filtered_games, pd.DataFrame )
103- # assert len(filtered_games) < len(all_games)
104- # g = gbt.catalog.load(filtered_games.Game.iloc[0])
105- # assert g.is_tree
102+ def test_catalog_games_filter_is_not_tree ( all_games ):
103+ """Test games() function can filter on boolean gbt.Game attribute 'is_tree'"""
104+ filtered_games = gbt .catalog . games ( is_tree = False )
105+ assert isinstance ( filtered_games , pd . DataFrame )
106+ assert len (filtered_games ) < len ( all_games )
107+ if len (filtered_games ) > 0 :
108+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
109+ assert not g .is_tree
106110
107111
108112def test_catalog_games_filter_min_payoff_and_max_payoff (all_games ):
109113 """Test games() function can filter on min and max payoff values"""
110114 filtered_games = gbt .catalog .games (min_payoff = 0 , max_payoff = 10 )
111115 assert isinstance (filtered_games , pd .DataFrame )
112116 assert len (filtered_games ) < len (all_games )
113- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
114- assert g .min_payoff >= 0
115- assert g .max_payoff <= 10
117+ if len (filtered_games ) > 0 :
118+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
119+ assert g .min_payoff >= 0
120+ assert g .max_payoff <= 10
116121
117122
118123def test_catalog_games_filter_n_nodes (all_games ):
119124 """Test games() function can filter on length of gbt.Game attribute 'nodes'"""
120125 filtered_games = gbt .catalog .games (n_nodes = 5 )
121126 assert isinstance (filtered_games , pd .DataFrame )
122127 assert len (filtered_games ) < len (all_games )
123- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
124- assert len (g .nodes ) == 5
128+ if len (filtered_games ) > 0 :
129+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
130+ assert len (g .nodes ) == 5
125131
126132
127133def test_catalog_games_filter_n_outcomes (all_games ):
128134 """Test games() function can filter on length of gbt.Game attribute 'outcomes'"""
129135 filtered_games = gbt .catalog .games (n_outcomes = 3 )
130136 assert isinstance (filtered_games , pd .DataFrame )
131137 assert len (filtered_games ) < len (all_games )
132- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
133- assert len (g .outcomes ) == 3
138+ if len (filtered_games ) > 0 :
139+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
140+ assert len (g .outcomes ) == 3
134141
135142
136143def test_catalog_games_filter_n_players (all_games ):
137144 """Test games() function can filter on length of gbt.Game attribute 'players'"""
138145 filtered_games = gbt .catalog .games (n_players = 2 )
139146 assert isinstance (filtered_games , pd .DataFrame )
140147 assert len (filtered_games ) < len (all_games )
141- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
142- assert len (g .players ) == 2
148+ if len (filtered_games ) > 0 :
149+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
150+ assert len (g .players ) == 2
143151
144152
145153def test_catalog_games_filter_n_strategies (all_games ):
146154 """Test games() function can filter on length of gbt.Game attribute 'strategies'"""
147155 filtered_games = gbt .catalog .games (n_strategies = 4 )
148156 assert isinstance (filtered_games , pd .DataFrame )
149157 assert len (filtered_games ) < len (all_games )
150- g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
151- assert len (g .strategies ) == 4
158+ if len (filtered_games ) > 0 :
159+ g = gbt .catalog .load (filtered_games .Game .iloc [0 ])
160+ assert len (g .strategies ) == 4
152161
153162
154163def test_catalog_games_filter_bad_filter ():
0 commit comments