ó
    6lj	  ã                   ób   • S r SSKrSSKJs  Jr  SSKrSSKJ	r	  SSK
JrJrJr  S rS rS rS rg)	u  `compile_model`: a plan's field declarations become a Pydantic model, with
grounding and the not-present case appended no matter what was declared.

Assertions read `model_dump()` because the compiled model's fields are
dynamic â€” unknown to the type checker by design.
é    N)ÚValidationError)Ú	FieldSpecÚPlanÚcompile_modelc                  óª  • [        [        S[        SSSS9[        SSSS9[        S	S
SS9[        SSSS9/S95      n U " SSS/SS/S9R                  5       n/ o!S   nSoCU:H  oUoe(       a  US   nSo‡U:H  o™nU(       Gd  [        R
                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  n
SSU
0-  o²R                  U5        U(       aa  [        R
                  " SW	4SWW45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  oÒR                  U5        [        R                  " US5      0 -  nS S!U0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=n=p˜/ o!S	   nS/oCU:H  oUoe(       a  US   nSS/o‡U:H  o™nU(       Gd  [        R
                  " SU4SX445      [        R                  " U5      [        R                  " U5      S.-  n
SSU
0-  o²R                  U5        U(       a`  [        R
                  " SU	4SXx45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  oÒR                  U5        [        R                  " US5      0 -  nS S!U0-  n[        [        R                  " U5      5      eS =n=n=n=n=n=n=p˜g )"NTÚfigureÚstringz
as printed©ÚnameÚtypeÚdescriptionÚrateÚnumberza numberÚlabelsÚstring_listÚnamesÚratesÚnumber_listÚnumbers©Úwants_valueÚfieldsú$1g      ø?Úagš™™™™™¹?gš™™™™™É?)r   r   r   r   ©ú==)z%(py3)s == %(py6)s)Úpy3Úpy6z%(py8)sÚpy8)z%(py11)s == %(py14)s)Úpy11Úpy14z%(py16)sÚpy16r   zassert %(py19)sÚpy19)r   r   r   Ú
model_dumpÚ
@pytest_arÚ_call_reprcompareÚ	_safereprÚappendÚ_format_boolopÚAssertionErrorÚ_format_explanation)ÚmodelÚgotÚ@py_assert1Ú@py_assert2Ú@py_assert5Ú@py_assert4Ú@py_assert0Ú@py_assert10Ú@py_assert13Ú@py_assert12Ú@py_format7Ú@py_format9Ú@py_format15Ú@py_format17Ú@py_format18Ú@py_format20s                   Ú7/home/mande/repo/quber/tests/playground/test_planned.pyÚtest_each_declared_field_typer=      sÅ  € ÜÜØä˜x¨hÀLÑQÜ˜v¨HÀ*ÑMÜ˜x¨mÈÑQÜ˜w¨]È	ÑRð	ñ	
ó
€Eñ �t #¨s¨e¸CÀ¸:Ñ
F×
QÑ
QÓ
S€CÙ7ˆx‰=Ð7˜DÐ7˜DÑ ×7 S¨¡[Ð7°CÐ7°CÑ%7×7×7×7Õ7ˆ=×7×7Ô7ˆ=×7×7Ó7˜D×7×7×7×7×7×7×7Ò7 [°C×7×7Ô7 [×7×7Ó7°C×7×7×7×7×7×7×7×7×7×7×7×7×7Ö7Ù@ˆx‰=Ð@˜S˜EÐ@˜EÑ!×@ c¨'¡lÐ@°s¸C°jÐ@°jÑ&@×@×@×@Õ@ˆ=×@×@Ô@ˆ=×@×@Ó@˜E×@×@×@×@×@×@×@Ò@ l×@×@Ô@ l×@×@Ó@°j×@×@×@×@×@×@×@×@×@×@×@×@×@×@ó    c                  óö  • [        [        S[        SSSS9[        SSSSS9/S	95      n U " S
S9R                  5       S   nS o!UL o3(       do  [        R
                  " SU4SX45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=p2[        R                  " [        5         U " 5         S S S 5        g ! , (       d  f       g = f)NTr   r	   Údr
   ÚperiodF)r   r   r   Úrequiredr   r   )r   ©Úis©z%(py1)s is %(py4)s©Úpy1Úpy4úassert %(py6)sr   )r   r   r   r$   r%   r&   r'   r*   r+   ÚpytestÚraisesr   )r,   r2   Ú@py_assert3r/   Ú@py_format5r6   s         r<   Útest_required_against_optionalrN      s´   € ÜÜØä˜x¨hÀCÑHÜ˜x¨hÀCÐRWÑXðñ	
ó€Eñ ˜Ñ×(Ñ(Ó*¨8Ñ4Ð<¸Ð<¸Ð<×<×<×<Ò<Ð4×<×<Ô<Ð4×<×<Ó<¸×<×<×<×<×<×<Ó<Ü	�Š”Õ	'ÙŒ÷ 
(×	'Ö	'ús   ÃC*Ã*
C8c                  ób  • [        [        S/ S95      " 5       R                  5       n U S   n/ o!U:H  o3(       do  [        R                  " SU4SX45      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=p2U S	   nS o!UL o3(       do  [        R                  " S
U4SX45      [        R
                  " U5      [        R
                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=p2g )NTr   Ú	cited_idsr   ©z%(py1)s == %(py4)srF   rI   r   Ú	not_foundrC   rE   )r   r   r$   r%   r&   r'   r*   r+   )r-   r2   rL   r/   rM   r6   s         r<   Ú4test_cited_ids_and_not_found_appended_to_every_modelrS   .   s¿   € Ü
œ¨°bÑ9Ô
:Ó
<×
GÑ
GÓ
I€CØˆ{ÑÐ!˜rÐ!˜rÑ!×!×!×!Ò!Ð×!×!Ô!Ð×!×!Ó!˜r×!×!×!×!×!×!Ó!Øˆ{ÑÐ#˜tÐ#˜tÐ#×#×#×#Ò#Ð×#×#Ô#Ð×#×#Ó#˜t×#×#×#×#×#×#Ô#r>   c                  óŽ  • [        [        S[        SSSS9[        SSSS9/S95      n U " 5       R                  5       nUS   n/ o2U:H  oD(       do  [        R
                  " S	U4S
X#45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pCUS   nS o2UL oD(       do  [        R
                  " SU4SX#45      [        R                  " U5      [        R                  " U5      S.-  nSSU0-  n[        [        R                  " U5      5      eS =n=pCg )NTrP   r	   Úhijackr
   rR   r   r   r   rQ   rF   rI   r   rC   rE   )	r   r   r   r$   r%   r&   r'   r*   r+   )r,   r-   r2   rL   r/   rM   r6   s          r<   Ú3test_declared_collision_loses_to_the_appended_fieldrV   4   sè   € ÜÜØä˜{°ÀxÑPÜ˜{°ÀxÑPðñ	
ó€Eñ ‹'×
Ñ
Ó
€Cð ˆ{ÑÐ!˜rÐ!˜rÑ!×!×!×!Ò!Ð×!×!Ô!Ð×!×!Ó!˜r×!×!×!×!×!×!Ó!Øˆ{ÑÐ#˜tÐ#˜tÐ#×#×#×#Ò#Ð×#×#Ô#Ð×#×#Ó#˜t×#×#×#×#×#×#Ô#r>   )Ú__doc__ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriter%   rJ   Úpydanticr   Ú quber.playground.answers.plannedr   r   r   r=   rN   rS   rV   © r>   r<   Ú<module>r`      s1   ðñ÷ „ ƒÝ $ç KÑ KòAò"ò$ó$r>   