ó
    ¿²	jØ  ã                   óh   • S r SSKrSSKJs  Jr  SSKrSSKrSSK	J
r
JrJrJr  S rS rS rS rS rg)	z?Tests for the TableClassifier Protocol and its implementations.é    N)ÚClassifierResultÚMockClassifierÚTableClassifierÚget_classifierc                  óÜ  • [        5       n [        U [        5      o(       GdH  SS[        R                  " 5       ;   d  [
        R                  " [        5      (       a  [
        R                  " [        5      OSS[        R                  " 5       ;   d  [
        R                  " [         5      (       a  [
        R                  " [         5      OS[
        R                  " U 5      S[        R                  " 5       ;   d  [
        R                  " [        5      (       a  [
        R                  " [        5      OS[
        R                  " U5      S.-  n[        [
        R                  " U5      5      eS =pg )NzLassert %(py6)s
{%(py6)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s()
}, %(py4)s)
}Ú
isinstancer   r   )Úpy0Úpy1Úpy3Úpy4Úpy6)
r   r   r   Ú@py_builtinsÚlocalsÚ
@pytest_arÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanation)Ú@py_assert2Ú@py_assert5Ú@py_format7s      Ú6/home/mande/repo/quber/tests/agents/test_classifier.pyÚtest_mock_satisfies_protocolr      s«   € Ü$Ó&Ð8Œ:Ð&¬Ó8Ð8Ö8×8×8×8×8×8Ñ8Œ:×8×8×8Ñ8Œ:×8×8×8×8×8Ö8”n×8×8×8Ñ8”n×8×8Õ8Ð&×8×8×8×8×8Ô8¬×8×8×8Ñ8¬×8×8Õ8Ð8×8×8×8×8×8Ó8ó    c                  ó’  • [         R                  " [        5       R                  S5      5      n [	        U [
        5      o(       Gd+  SS[        R                  " 5       ;   d  [        R                  " [        5      (       a  [        R                  " [        5      OSS[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OSS[        R                  " 5       ;   d  [        R                  " [
        5      (       a  [        R                  " [
        5      OS[        R                  " U5      S.-  n[        [        R                  " U5      5      eS nU R                  nSoCUL o(       dº  [        R                  " SU4S	X445      S[        R                  " 5       ;   d  [        R                  " U 5      (       a  [        R                  " U 5      OS[        R                  " U5      [        R                  " U5      S
.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pg )Nz| a |
|---|
| 1 |z5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}r   Úresultr   )r	   r
   Úpy2r   T©Úis©z0%(py2)s
{%(py2)s = %(py0)s.is_table
} is %(py5)s©r	   r   Úpy5úassert %(py7)sÚpy7)ÚasyncioÚrunr   Úclassifyr   r   r   r   r   r   r   r   r   Úis_tableÚ_call_reprcompare)r   Ú@py_assert3Ú@py_format5Ú@py_assert1Ú@py_assert4Ú@py_format6Ú@py_format8s          r   Útest_mock_default_acceptsr0      s%  € Ü�[Š[œÓ)×2Ñ2Ð3HÓIÓJ€FÜ�fÔ.Ó/Ð/Ö/×/×/×/×/×/Ñ/Œ:×/×/×/Ñ/Œ:×/×/×/×/×/Ö/�f×/×/×/Ñ/�f×/×/×/×/×/Ö/Ô.×/×/×/Ñ/Ô.×/×/Õ/Ð/×/×/×/×/×/Ñ/Ø�?‰?Ð"˜dÐ"˜dÐ"×"×"×"Ò"ˆ?×"×"×"×"×"Õ"ˆ6×"×"×"Ñ"ˆ6×"×"Õ"ˆ?×"×"Ó"˜d×"×"×"×"×"×"Ô"r   c                  óì  • [        SSS9n [        R                  " [        U 5      R	                  S5      5      nXL o"(       dÛ  [
        R                  " SU4SX45      S[        R                  " 5       ;   d  [
        R                  " U5      (       a  [
        R                  " U5      OSS[        R                  " 5       ;   d  [
        R                  " U 5      (       a  [
        R                  " U 5      OSS	.-  nS
SU0-  n[        [
        R                  " U5      5      eS nUR                  nSoRUL of(       dº  [
        R                  " SU4SX%45      S[        R                  " 5       ;   d  [
        R                  " U5      (       a  [
        R                  " U5      OS[
        R                  " U5      [
        R                  " U5      S.-  nSSU0-  n[        [
        R                  " U5      5      eS =n=peg )NFznot a table)r(   Úreasonzparagraph textr   )z%(py0)s is %(py2)sÚoutÚcanned)r	   r   zassert %(py4)sr   r    r!   r#   r$   )r   r%   r&   r   r'   r   r)   r   r   r   r   r   r   r(   )	r4   r3   r,   Ú@py_format3r+   r-   r*   r.   r/   s	            r   Útest_mock_injected_rejectionr6      s  € Ü u°]ÑC€FÜ
�+Š+”n VÓ,×5Ñ5Ð6FÓGÓ
H€CØˆ=×××Òˆ3×××××Õˆ3×××Ñˆ3×××××Ö�&×××Ñ�&××××××ÒØ�<‰<Ð ˜5Ð ˜5Ð × × × Ò ˆ<× × × × × Õ ˆ3× × × Ñ ˆ3× × Õ ˆ<× × Ó ˜5× × × × × × Ô r   c            	      ó  • Sn [        U 5      n[        U[        5      o"(       Gd]  SS[        R                  " 5       ;   d  [
        R                  " [        5      (       a  [
        R                  " [        5      OSS[        R                  " 5       ;   d  [
        R                  " [         5      (       a  [
        R                  " [         5      OS[
        R                  " U 5      [
        R                  " U5      S[        R                  " 5       ;   d  [
        R                  " [        5      (       a  [
        R                  " [        5      OS[
        R                  " U5      S.-  n[        [
        R                  " U5      5      eS =n =pg )NÚmockzSassert %(py8)s
{%(py8)s = %(py0)s(%(py5)s
{%(py5)s = %(py1)s(%(py3)s)
}, %(py6)s)
}r   r   r   )r	   r
   r   r"   r   Úpy8)
r   r   r   r   r   r   r   r   r   r   )r   r-   Ú@py_assert7Ú@py_format9s       r   Útest_get_classifier_mockr<       s½   € Ø%+Ð=”n VÓ,Ð=Œ:Ð,¬nÓ=Ð=Ö=×=×=×=×=×=Ñ=Œ:×=×=×=Ñ=Œ:×=×=×=×=×=Ö=”n×=×=×=Ñ=”n×=×=Õ= V×=×=Ó=Ð,×=×=×=×=×=Ô=¬n×=×=×=Ñ=¬n×=×=Õ=Ð=×=×=×=×=×=Õ=r   c                  ó‚   • [         R                  " [        5         [        S5        S S S 5        g ! , (       d  f       g = f)NÚbogus)ÚpytestÚraisesÚ
ValueErrorr   © r   r   Ú"test_get_classifier_unknown_raisesrC   $   s"   € Ü	�Š”zÕ	"Ü�wÔ÷ 
#×	"Ö	"ús   ›0°
>)Ú__doc__Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   r%   r?   Úquber.agents.classifierr   r   r   r   r   r0   r6   r<   rC   rB   r   r   Ú<module>rJ      s5   ðÙ Eç  „ ƒã ÷ó ò9ò#ò!ò>ó r   