@@ -981,111 +981,3 @@ def test_auth_header_no_token_when_no_server_info(self):
981981 assert "x-pmxt-access-token" not in headers
982982
983983
984- # ---------------------------------------------------------------------------
985- # Filter methods tests
986- # ---------------------------------------------------------------------------
987-
988- class TestFilterMethods :
989- """Tests for filter_markets and filter_events (local, no HTTP)."""
990-
991- def _make_markets (self ):
992- m1 = UnifiedMarket (
993- market_id = "1" , title = "Will Trump win?" , outcomes = [], volume_24h = 5000 ,
994- liquidity = 10000 , url = "" , description = "Election market" , category = "Politics" ,
995- tags = ["election" ], volume = 50000 ,
996- yes = MarketOutcome (outcome_id = "y1" , label = "Yes" , price = 0.65 , price_change_24h = 0.05 ),
997- )
998- m2 = UnifiedMarket (
999- market_id = "2" , title = "Bitcoin above 100K" , outcomes = [], volume_24h = 200 ,
1000- liquidity = 500 , url = "" , description = "Crypto prediction" , category = "Crypto" ,
1001- tags = ["crypto" , "bitcoin" ], volume = 2000 ,
1002- yes = MarketOutcome (outcome_id = "y2" , label = "Yes" , price = 0.30 , price_change_24h = - 0.02 ),
1003- )
1004- return [m1 , m2 ]
1005-
1006- def test_filter_markets_string (self ):
1007- ex = _create_exchange ()
1008- markets = self ._make_markets ()
1009- result = ex .filter_markets (markets , "Trump" )
1010- assert len (result ) == 1
1011- assert result [0 ].market_id == "1"
1012-
1013- def test_filter_markets_callable (self ):
1014- ex = _create_exchange ()
1015- markets = self ._make_markets ()
1016- result = ex .filter_markets (markets , lambda m : m .volume_24h > 1000 )
1017- assert len (result ) == 1
1018- assert result [0 ].market_id == "1"
1019-
1020- def test_filter_markets_criteria_volume_24h (self ):
1021- ex = _create_exchange ()
1022- markets = self ._make_markets ()
1023- result = ex .filter_markets (markets , {"volume_24h" : {"min" : 1000 }})
1024- assert len (result ) == 1
1025- assert result [0 ].market_id == "1"
1026-
1027- def test_filter_markets_criteria_text (self ):
1028- ex = _create_exchange ()
1029- markets = self ._make_markets ()
1030- result = ex .filter_markets (markets , {"text" : "bitcoin" , "search_in" : ["title" ]})
1031- assert len (result ) == 1
1032- assert result [0 ].market_id == "2"
1033-
1034- def test_filter_markets_criteria_category (self ):
1035- ex = _create_exchange ()
1036- markets = self ._make_markets ()
1037- result = ex .filter_markets (markets , {"category" : "Crypto" })
1038- assert len (result ) == 1
1039- assert result [0 ].market_id == "2"
1040-
1041- def test_filter_markets_criteria_tags (self ):
1042- ex = _create_exchange ()
1043- markets = self ._make_markets ()
1044- result = ex .filter_markets (markets , {"tags" : ["election" ]})
1045- assert len (result ) == 1
1046- assert result [0 ].market_id == "1"
1047-
1048- def test_filter_markets_criteria_price (self ):
1049- ex = _create_exchange ()
1050- markets = self ._make_markets ()
1051- result = ex .filter_markets (markets , {"price" : {"outcome" : "yes" , "min" : 0.5 }})
1052- assert len (result ) == 1
1053- assert result [0 ].market_id == "1"
1054-
1055- def test_filter_events_string (self ):
1056- ex = _create_exchange ()
1057- events = [
1058- UnifiedEvent (
1059- id = "e1" , title = "US Election" , description = "" , slug = "us" ,
1060- markets = MarketList (), url = "" ,
1061- ),
1062- UnifiedEvent (
1063- id = "e2" , title = "Crypto markets" , description = "" , slug = "crypto" ,
1064- markets = MarketList (), url = "" ,
1065- ),
1066- ]
1067- result = ex .filter_events (events , "election" )
1068- assert len (result ) == 1
1069- assert result [0 ].id == "e1"
1070-
1071- def test_filter_events_callable (self ):
1072- ex = _create_exchange ()
1073- events = [
1074- UnifiedEvent (
1075- id = "e1" , title = "A" , description = "" , slug = "a" ,
1076- markets = MarketList ([
1077- UnifiedMarket (
1078- market_id = "m1" , title = "t" , outcomes = [], volume_24h = 0 ,
1079- liquidity = 0 , url = "" ,
1080- ),
1081- ]),
1082- url = "" ,
1083- ),
1084- UnifiedEvent (
1085- id = "e2" , title = "B" , description = "" , slug = "b" ,
1086- markets = MarketList (), url = "" ,
1087- ),
1088- ]
1089- result = ex .filter_events (events , lambda e : len (e .markets ) > 0 )
1090- assert len (result ) == 1
1091- assert result [0 ].id == "e1"
0 commit comments