§
    }ZjP  ã                  ód   — d Z ddlmZ ddlZddlmc mZ ddl	Z	ddl
mZmZmZ d„ Zd„ Zd„ Zd„ ZdS )	u?   Tests for shared/capture.py â€” capture parsing and validation.é    )ÚannotationsN)ÚCaptureQAExemplarÚCaptureQuoteÚload_capturec                 óâ  — t          d¦  «        } | j        }|j        }d}||k    }|s½t          j        d|fd||f¦  «        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}}| j        }|j        }d	}||k    }|s½t          j        d|fd
||f¦  «        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}}| j        }|j        }d	}||k    }|s½t          j        d|fd||f¦  «        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}}| j        d         }|j        }d}||u }	|	st          j        d|	fd||f¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }
dd|
iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}	}| j        d         }|j        }d}||k    }	|	st          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 S )NÚ	_templatez	your-slug©ú==)zJ%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.manifest
}.slug
} == %(py7)sÚcapture)Úpy0Úpy2Úpy4Úpy7zassert %(py9)sÚpy9Ú	generated)zR%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.manifest
}.voice_policy
} == %(py7)s)zI%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.voice
}.policy
} == %(py7)sr   T)Úis)z1%(py3)s
{%(py3)s = %(py1)s.synthetic
} is %(py6)s)Úpy1Úpy3Úpy6zassert %(py8)sÚpy8úmodel-memory)z2%(py3)s
{%(py3)s = %(py1)s.provenance
} == %(py6)s)r   ÚmanifestÚslugÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚvoice_policyÚvoiceÚpolicyÚqa_exemplarsÚ	syntheticÚquotesÚ
provenance)r   Ú@py_assert1Ú@py_assert3Ú@py_assert6Ú@py_assert5Ú@py_format8Ú@py_format10Ú@py_assert0Ú@py_assert2Ú@py_assert4Ú@py_format7Ú@py_format9s               úB/Users/jameslopez/projects/MentorCore/tests/shared/test_capture.pyÚ%test_load_template_capture_round_tripr5   	   s¢  € Ý˜;Ñ'Ô'€GØÔÐ/ÐÔ Ð/ KÐ/Ð  KÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/Ð  KÐ/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/ˆ7Ñ/Ô/Ð/Õ/Ô/ˆ7Ñ/Ô/Ð/Ð/Õ/Ô/ÐÑ/Ô/Õ/Ô/Ð Ñ/Ô/Õ/Ô/ KÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ð/ØÔÐ7ÐÔ(Ð7¨KÐ7Ð(¨KÒ7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7Ð(¨KÐ7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7ˆ7Ñ7Ô7Ð7Õ7Ô7ˆ7Ñ7Ô7Ð7Ð7Õ7Ô7ÐÑ7Ô7Õ7Ô7Ð(Ñ7Ô7Õ7Ô7¨KÑ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7Ð7ØŒ=Ð.ˆ=ÔÐ. ;Ð.Ð ;Ò.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð ;Ð.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.ˆ7Ñ.Ô.Ð.Õ.Ô.ˆ7Ñ.Ô.Ð.Ð.Õ.Ô.ˆ=Ñ.Ô.Õ.Ô.ÐÑ.Ô.Õ.Ô. ;Ñ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.ØÔ Ô"Ð4Ð"Ô,Ð4°Ð4Ð,°Ð4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð,°Ð4Ñ4Ô4Õ4Ô4Ð"Ñ4Ô4Õ4Ô4Ð,Ñ4Ô4Õ4Ô4°Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ØŒ>˜!ÔÐ9ÐÔ'Ð9¨>Ð9Ð'¨>Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð'¨>Ð9Ñ9Ô9Õ9Ô9ÐÑ9Ô9Õ9Ô9Ð'Ñ9Ô9Õ9Ô9¨>Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9ó    c                 óœ   — t          j        t          ¦  «        5  t          j        dddddœ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚq001úVerbatim text.ÚSourceÚverified)ÚidÚtextÚsourcer(   )ÚpytestÚraisesÚ	Exceptionr   Úmodel_validate© r6   r4   Ú/test_capture_quote_rejects_verified_without_urlrD      s¡   € Ý	Œ•yÑ	!Ô	!ð 
ð 
ÝÔ#àØ(Ø"Ø(ð	ð ñ	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   šAÁAÁAc                 ó¼  — t          j        ddddddœ¦  «        } | j        }d}||k    }|sªt          j        d|fd||f¦  «        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}}d S )Nr8   r9   r:   r   zhttps://example.com)r<   r=   r>   r(   Ú
verify_urlr	   )z2%(py2)s
{%(py2)s = %(py0)s.verify_url
} == %(py5)sÚquote)r   r   Úpy5zassert %(py7)sr   )r   rB   rF   r   r   r   r   r   r   r    r!   )rG   r)   r1   r*   Ú@py_format6r-   s         r4   Ú0test_capture_quote_accepts_model_memory_with_urlrJ      s  € ÝÔ'àØ$ØØ(Ø/ð	
ð 	
ñô €Eð ÔÐ4Ð4Ð4ÐÐ4Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4ÐÐ4Ð4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4ˆ5Ñ4Ô4Ð4Õ4Ô4ˆ5Ñ4Ô4Ð4Ð4Õ4Ô4ÐÑ4Ô4Õ4Ô4Ð4Ñ4Ô4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4r6   c            
     ó¢   — t          j        t          ¦  «        5  t          j        ddddgdddœ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚx001zQ?zA.ÚtagFzcoaching-conversational)r<   ÚquestionÚanswerÚtopicsr&   Úregister)r?   r@   rA   r   rB   rC   r6   r4   Ú+test_capture_exemplar_rejects_non_syntheticrR   +   s©   € Ý	Œ•yÑ	!Ô	!ð 

ð 

ÝÔ(àØ ØØ ˜'Ø"Ø5ðð ñ		
ô 		
ð 		
ð

ð 

ð 

ñ 

ô 

ð 

ð 

ð 

ð 

ð 

ð 

ð 

øøøð 

ð 

ð 

ð 

ð 

ð 

s   šAÁAÁA)Ú__doc__Ú
__future__r   Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   r?   Úshared.capturer   r   r   r5   rD   rJ   rR   rC   r6   r4   ú<module>rZ      s¤   ðØ EÐ Eà "Ð "Ð "Ð "Ð "Ð "à  € € € € € € € € € € € € €€€€Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hð:ð :ð :ð	
ð 	
ð 	
ð
5ð 
5ð 
5ð
ð 
ð 
ð 
ð 
r6   