
    V3i                    r    d dl mZ d dlZd dlmc mZ d dlmZm	Z	 d dl
mZmZmZmZ d	dZd	dZd	dZd	dZy)
    )annotationsN)datetimetimezone)infer_requested_marketsmatch_activity_tradenormalized_activity_rowselect_target_marketsc            	        ddddddddd	d
dddddddddddg} t        d| ddh      }|D cg c]  }|j                   }}dd	g}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}|d   }|j                  }d}||k(  }	|	st        j                  d|	fd||f      t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }
t        t        j                  |
            d x}x}x}	}|d   }|j                  }d}||k(  }	|	st        j                  d|	fd||f      t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }
t        t        j                  |
            d x}x}x}	}y c c}w )N1lol-wb-we-2026-05-07Series0xseries["WB","WE"]["series_wb","series_we"]idslugquestionconditionIdoutcomesclobTokenIds2lol-wb-we-2026-05-07-game1Game 10xgame1["game1_wb","game1_we"]3z&lol-wb-we-2026-05-07-game1-first-bloodzFirst Blood0xfbz["fb_wb","fb_we"]	moneylinegame1==z%(py1)s == %(py4)spy1py4assert %(py6)spy6r   )z,%(py3)s
{%(py3)s = %(py1)s.kind
} == %(py6)s)r%   py3r(   zassert %(py8)spy8   )r	   r   
@pytest_ar_call_reprcompare	_safereprAssertionError_format_explanationkind)marketstargetstarget@py_assert0@py_assert3@py_assert2@py_format5@py_format7@py_assert5@py_assert4@py_format9s              6/root/polymarket_arb/tests/test_lpl_activity_trades.py6test_select_target_markets_filters_moneyline_and_gamesr>      s    * %%7	
 0 $%5	
 <%!%/	
#G6 $	gG '..FFKK. .$3 . 3   . 3    /   3       1:):??)k)?k))))?k))):)))?)))k)))))))1:%:??%g%?g%%%%?g%%%:%%%?%%%g%%%%%%% /s   Hc                    ddiddiddiddiddiddiddig} d}t        ||       }h d	}||k(  }|s
t        j                  d
|fd||f      dt        j                         v st        j
                  t               rt        j                  t               ndt        j                  |      dt        j                         v st        j
                  |       rt        j                  |       ndt        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nr   zlol-bo5-2026-05-07zlol-bo5-2026-05-07-game1zlol-bo5-2026-05-07-game2zlol-bo5-2026-05-07-game3zlol-bo5-2026-05-07-game4zlol-bo5-2026-05-07-game5z$lol-bo5-2026-05-07-game1-first-blood>   r    game2game3game4r   r!   )z9%(py5)s
{%(py5)s = %(py0)s(%(py2)s, %(py3)s)
} == %(py8)sr   r2   )py0py2r)   py5r*   zassert %(py10)spy10)	r   r,   r-   @py_builtinslocals_should_repr_global_namer.   r/   r0   )r2   @py_assert1r;   @py_assert7@py_assert6r<   @py_format11s          r=   )test_auto_markets_exclude_game5_and_propsrN   7   sc   	%&	+,	+,	+,	+,	+,	78G $8 "#7A  F A F    A F      #    #    $8      :A    :A    B   F           c                 6   t        dddddddddd	d
ddddgddh      } dddd	id}ddddid}t        ||       }|j                  }d	}||k(  }|sKt        j                  d|fd||f      dt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  |      rt        j                  |      nddt        j                         v st        j                  |       rt        j                  |       ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}t        ||       }|j                  }d}||k(  }|sKt        j                  d|fd||f      dt        j                         v st        j                  t              rt        j                  t              nddt        j                         v st        j                  |      rt        j                  |      nddt        j                         v st        j                  |       rt        j                  |       ndt        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}x}}y )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r    activitytradesr   )topictypepayloadasset	series_wer!   )zS%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}.slug
} == %(py9)sr   by_slugr3   )rC   r%   rD   r&   r(   py9zassert %(py11)spy11by_token)r	   r   r   r,   r-   rG   rH   rI   r.   r/   r0   )	r3   rX   r[   r6   r:   @py_assert8rK   @py_format10@py_format12s	            r=   3test_match_activity_trade_by_payload_slug_and_tokenr_   K   s   # .$)) ; 4$() 9	
$ 
g)G0 89G [)H  1V166V:VV6:VVVVV6:VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV1VVV6VVV:VVVVVVVV'2Q277Q;QQ7;QQQQQ7;QQQQQQQQQQQQQQQQQQQQQQQQQ'QQQ'QQQ2QQQ7QQQ;QQQQQQQQrO   c                    t        ddddddddgdh      d	   } t        d
dddddddddd| dt        j                  dt        j
                        dd      }|d   }d}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}|d    }d}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}|d!   }d}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}|d"   }d#}||k(  }|slt        j                  d|fd||f      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x}x}}y )$Nr   r   r   r   r   r   r   r   r   rQ   rR   l   8d xrW   gq=
ףp?g333335@BUYii0xabc)rV   pricesizeside	timestamptransactionHash)rS   rT   rf   rU   g y A)tz{      )itemr4   
event_slugreceived_at_wallreceived_at_monotonic_nsmessage_indexmatched_market_slugr!   r#   r$   r'   r(   rV   transaction_hashdelay_msg      Y@)r	   r   r   fromtimestampr   utcr,   r-   r.   r/   r0   )r4   rowr5   r6   r7   r8   r9   s          r=   *test_normalized_activity_row_uses_ws_delayrv   r   s   " .$)) ;		
 
 	F "&$'#*	
 )!//8<<P!$%C* $%?)??%)?????%)????%???)????????w<&;&<;&&&&<;&&&<&&&;&&&&&&&!"-g-"g----"g---"---g-------z?#e#?e####?e###?###e#######rO   )returnNone)
__future__r   builtinsrG   _pytest.assertion.rewrite	assertionrewriter,   r   r   &analysis.lpl_orderbook.activity_tradesr   r   r   r	   r>   rN   r_   rv    rO   r=   <module>r      s1    "    ' '&T($RN'$rO   