+
    cPjf  c                   V    R t ^ RIt^ RIHu Ht ^ RItR tR t	R t
R tR tR tR tR# )	zGEmotion-tag extraction: strip tag, map to mood stem + protocol emotion.Nc                  X   \         P                  p R q! V4      pR
q2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;p;rCR	# )z[warm] Hello, sir.py0ttspy2py4py6py9assert %(py11)spy11N)zHello, sir.warm==zS%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.split_emotion
}(%(py4)s)
} == %(py9)s
r   split_emotion
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation@py_assert1@py_assert3@py_assert5@py_assert8@py_assert7@py_format10@py_format12s          H/Users/ahmed/devFolder/Ultron/claude-voice/gateway/tests/test_emotion.pytest_split_known_tagr!      s    M1M12M6MM6MMMMMM2MMMMMM3MMMM3MMMMMM1MMM2MMM6MMMMMMMMMM    c                  X   \         P                  p R q! V4      pR
q2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR;p ;p;p;rCR# )Just plain text.Nr   r   r   r   r   r   r   r	   )r$   Nr   r   r   r   s          r    test_split_no_tagr%   	   s    N/N/0N4NN4NNNNNN0NNNNNN3NNNN3NNNNNN/NNN0NNN4NNNNNNNNNNr"   c                  6   \         P                  ! R 4      w  rRq V8H  q3'       g   \        P                  ! R
V3RW34      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r2Rq!V8H  q3'       g   \        P                  ! R
V3RW34      RR	\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR	R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r2R# )z[Mildly excited] here we goz
here we gor   cleanpy3assert %(py5)spy5Nexcitedtagr   z%(py0)s == %(py3)sr   r'   r,   @py_assert2r   @py_format4@py_format6s         r    +test_split_improvised_tag_maps_by_last_wordr2      s    ""#@AJE  L     5      5    5   L        )333)r"   c                  4   \         P                  ! R 4      w  rRq V8H  q3'       g   \        P                  ! R	V3R
W34      RR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r2Rq!VJ q3'       g   \        P                  ! RV3RW34      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;r2R# )z[whatever] texttextr   r'   r(   r)   r*   Nr,   r   r-   is)z%(py0)s is %(py3)sr   r.   s         r    /test_split_unknown_tag_is_stripped_but_unmappedr7      s    ""#45JEF?555F$;333$r"   c                     \         P                  p R q! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;p;rC\         P                  p R
q! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;p;rC\         P                  p Rq! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;p;rC\         P                  p Rq! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;p;rC\         P                  p Rq! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR	;p ;p;p;rCR	# )z[urgent] Behind you!r   r   r   r   r   r   r   r	   Nz[sarcastic] surez[serious] listenz[neutral] okplain)zBehind you!r+   r   )zS%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.emotion_label
}(%(py4)s)
} == %(py9)s)suredry)listencalm)okN)r9   N
r   emotion_labelr   r   r   r   r   r   r   r   r   s          r    test_protocol_emotion_mappingrA      s%   R3R34R8RR8RRRRRR4RRRRRR3RRRR3RRRRRR3RRR4RRR8RRRRRRRRRC/C/0COCOCCCCC0CCCCCC3CCCC3CCCCCC/CCC0CCCOCCCCCCCCF/F/0F4FF4FFFFFF0FFFFFF3FFFF3FFFFFF/FFF0FFF4FFFFFFFFF<^<^,<<<<<<<,<<<<<<3<<<<3<<<<<<^<<<,<<<<<<<<<<<8W8W%8888888%888888388883888888W888%888888888888r"   c                  L	   \         P                  p R q! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;p;rC\         P                  p Rq! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;p;rC\         P                  p Rq! V4      pRq2V8H  qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;p;rC\         P                  p Rq! V4      pR
q2VJ qD'       g   \        P                  ! RV3RW#34      RR\        P
                  ! 4       9   g!   \        P                  ! \         4      '       d   \        P                  ! \         4      MRR\        P                  ! V 4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p\        \        P                  ! V4      4      hR
;p ;p;p;rCR
# )z[urgent] nowr+   r   r   r   r   r   r   r   r	   Nz[dry] indeedr;   z	[warm] hir
   zno tagr   )zN%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.stem_for
}(%(py4)s)
} == %(py9)sr5   )zN%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.stem_for
}(%(py4)s)
} is %(py9)s)
r   stem_forr   r   r   r   r   r   r   r   r   s          r    test_stem_selectionrD   !   si   <<44<'494944444'444444344443444<444444'444944444444<<00<'050500000'000000300003000<000000'000500000000<<..<$.......$......3....3...<......$...........<<))<!)T)T)))))!))))))3))))3)))<))))))!)))T)))))))))r"   c                  F   0 R
mp R EF  p\         P                  ! RV R24      w  r#W09   qD'       g   \        P                  ! RV3RW034      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRRR\        P
                  ! 4       9   g   \        P                  ! V 4      '       d   \        P                  ! V 4      MR/,          pRR	V/,          p\        \        P                  ! V4      4      hRpEK  	  R# )r
   N[z] xr   emor   allowedzassert %(py4)sr   >   Nr;   sadr=   r
   r+   )r=   flatr
   happyr+   urgentalarmedrI   	sarcasticr;   seriousneutral)in)z%(py0)s in %(py2)sr?   )rH   r,   _cleanrG   r   @py_format3@py_format5s          r    (test_protocol_emotion_values_are_in_enumrU   (   s    =GL''!C55~sssggLr"   )__doc__builtinsr   _pytest.assertion.rewrite	assertionrewriter   r   r!   r%   r2   r7   rA   rD   rU    r"   r    <module>r\      s4    M   
NO9*r"   