
    hS                         S SK r S SKJrJr  S r " S S\ R
                  5      r " S S\5      r " S S	\5      r " S
 S\ R
                  5      r	g)    N)CodeUtilityCodec                 ~    U S   =(       a    U S   R                  5       U S   =(       a    U S   R                  5       4$ )Nr      )strip)tups    _/var/www/fran/franai/venv/lib/python3.13/site-packages/Cython/Compiler/Tests/TestUtilityLoad.py
strip_2tupr
      s3    q6$c!fllnc!f&?Q??    c                   X    \ rS rSrSrSrSr\" SS9rS r	Sr
\R                  rS rS	 rS
rg)TestUtilityLoader	   z
Test loading UtilityCodes
)ztest {{loader}} prototypeztest {{loader}} impl)zreq {{loader}} protozreq {{loader}} implLoader)loaderzTestUtilityLoader.cc                     [        U R                  R                  U R                  U R                  5      5      nU R                  XR                  5        g )N)r
   clsload_as_stringnamefilenameassertEqualexpectedselfgots     r	   test_load_as_string%TestUtilityLoader.test_load_as_string   s7    00DMMJKmm,r   c                 @   U R                   R                  U R                  U R                  S9n[	        UR
                  UR                  45      nU R                  X R                  5        UR                  u  n[	        UR
                  UR                  45      nU R                  X R                  5        U R                   R                  U R                  U R                  S9n[	        UR
                  UR                  45      nU R                  X R                  5        g )N)	from_file)r   loadr   r   r
   protoimplr   r   requiresrequiredload_cachedr   utilityr   r#   s       r	   	test_loadTestUtilityLoader.test_load   s    ((--		T]]-C'--67mm,$$	(..(--89mm,((&&tyyDMM&J'--67mm,r    N)__name__
__module____qualname____firstlineno____doc__r   r#   dictcontextr   r   r   r   r   r   r'   __static_attributes__r)   r   r	   r   r   	   s=     CH<H(#GD$H


C--r   r   c                   4   \ rS rSrSr\R                  S   R                  SS5      \R                  S   R                  SS5      4r\R                  S   R                  SS5      \R                  S   R                  SS5      4r
\R                  rS rS rS	rg
)TestTempitaUtilityLoader*   z5
Test loading UtilityCodes with Tempita substitution
r   z
{{loader}}r   r   c                     [        U R                  R                  U R                  U R                  U R
                  S95      nU R                  XR                  5        g )Nr0   )r
   r   r   r   r   r0   r   expected_tempitar   s     r	   r   ,TestTempitaUtilityLoader.test_load_as_string6   sE    00DMMSWS_S_0`a334r   c                 l   U R                   R                  U R                  U R                  U R                  S9n[        UR                  UR                  45      nU R                  X R                  5        UR                  u  n[        UR                  UR                  45      nU R                  X R                  5        U R                   R                  U R                  U R                  U R                  S9n[        UR                  UR                  45      nU R                  X R                  5        g )Nr6   )r   r0   )r   r   r   r   r0   r
   r    r!   r   r7   r"   required_tempitar%   s       r	   r'   "TestTempitaUtilityLoader.test_load:   s    ((--		4==$,,-O'--67334$$	(..(--89334((--		T]]DLL-Y'--67334r   r)   N)r*   r+   r,   r-   r.   r   r   replacer7   r#   r:   r   TempitaUtilityCoder   r   r'   r1   r)   r   r	   r3   r3   *   s     *2215==lHU)2215==lHUW *2215==lHU)2215==lHUW 
!
!C55r   r3   c                       \ rS rSrSrSrSrSrSr\	" SS9r
S	rS
r\R                  rS\l        \R$                  r\R$                  rSrg)TestCythonUtilityLoaderH   z!
Test loading CythonUtilityCodes
)Nztest {{cy_loader}} impl)Nztest CyLoader impl)Nzreq {{cy_loader}} impl)Nzreq CyLoader implCyLoader)	cy_loaderTestCyUtilityLoaderzTestCyUtilityLoader.pyxNr)   )r*   r+   r,   r-   r.   r   r7   r#   r:   r/   r0   r   r   r   CythonUtilityCoder   r    r   r'   r3   test_load_tempitar1   r)   r   r	   r?   r?   H   s^    
 /H1-H0Z(G D(H

'
'C CI!++I0::r   r?   c                       \ rS rSrS rSrg)TestUtilityCodea   c                 `   [         R                  R                  SS5      n[         R                  R                  SS5      n[         R                  R                  SS5      n[         R                  R                  SS5      n[         R                  R                  SS5      n[         R                  R                  SS5      nXX4XV/n[        [	        U5      5       HQ  n[        [	        U5      5       H6  n	X:X  a  U R                  Xx   Xy   5        M   U R                  Xx   Xy   5        M8     MS     g )	NNumpyImportUFunczNumpyImportArray.cNumpyImportArraypyunicode_strlenzStringTools.cpyunicode_from_unicodeIncludeStringHIncludeCppStringH)r   r   r   rangelenr   assertNotEqual)
r   c1c2c3c4c5c6codesmns
             r	   test_equalityTestUtilityCode.test_equalityb   s    ""#57KL""#57KL""#5G""#;_M""#3_E""#6H(s5z"A3u:&6$$UXux8''%(;	 ' #r   r)   N)r*   r+   r,   r-   r\   r1   r)   r   r	   rG   rG   a   s    <r   rG   )
unittestCython.Compilerr   r   r
   TestCaser   r3   r?   rG   r)   r   r	   <module>ra      sP     -@-)) -B50 5<;6 ;2<h'' <r   