
    h!                     `    S SK Jr  S SKJrJr  S SKrS SKJr   " S S\	5      r
 " S S\5      rg)	    )TestCase)assert_equalassert_array_equalN)msgpackc                   $    \ rS rSrSS jrS rSrg)
ThirdParty   c                     Xl         g Nfoo)selfr   s     X/home/james-whalen/.local/lib/python3.13/site-packages/srsly/tests/msgpack/test_numpy.py__init__ThirdParty.__init__   s        c                 b    [        U[        5      =(       a    U R                  UR                  :H  $ r   )
isinstancer   r   )r   others     r   __eq__ThirdParty.__eq__   s!    %,FUYY1FFr   r   N)   bar)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r      s    Gr   r   c                       \ rS rSrS!S jrS rS rS!S jrS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r Sr!g )"test_numpy_msgpack   c                 R    [         R                  " XS9n[         R                  " XCS9$ )N)use_bin_type)raw)r   packbunpackbr   xr#   r$   x_encs        r   encode_decode test_numpy_msgpack.encode_decode   s    a;u..r   c                 *    [        SUR                  S9$ )NT)__thirdparty__r   )dictr   r   objs     r   encode_thirdparty$test_numpy_msgpack.encode_thirdparty   s    4SWW55r   c                 *    SU;   a  [        US   S9$ U$ )Ns   __thirdparty__   foor   )r   r/   s     r   decode_thirdparty$test_numpy_msgpack.decode_thirdparty   s    ##f+..
r   c                 ~    [         R                  " XR                  US9n[         R                  " XCU R                  S9$ )N)defaultr#   )r$   object_hook)r   r%   r1   r&   r5   r'   s        r   encode_decode_thirdparty+test_numpy_msgpack.encode_decode_thirdparty   s4    --L
 u4;Q;QRRr   c                 T    [        [        U R                  S5      5      [        5        g )Nr4   r   typer*   bytesr   s    r   test_bintest_numpy_msgpack.test_bin"   s     	T$,,V45u=r   c                 T    [        [        U R                  S5      5      [        5        g )Nr   r=   r@   s    r   test_strtest_numpy_msgpack.test_str'   s    T$,,U34e<r   c                 D   [         R                  " S5      nU R                  U5      n[        X5        [        [	        U5      [	        U5      5        [         R                  " S5      nU R                  U5      n[        X5        [        [	        U5      [	        U5      5        g )NTF)npbool_r*   r   r>   r   r(   x_recs      r   test_numpy_scalar_bool)test_numpy_msgpack.test_numpy_scalar_bool*   sp    HHTN""1%QT!Wd5k*HHUO""1%QT!Wd5k*r   c                     [         R                  " [         R                  R                  5       5      nU R	                  U5      n[        X5        [        [        U5      [        U5      5        g r   )rG   float32randomrandr*   r   r>   rI   s      r   test_numpy_scalar_float*test_numpy_msgpack.test_numpy_scalar_float4   sE    JJryy~~'(""1%QT!Wd5k*r   c                     [         R                  " [         R                  R                  5       S[         R                  R                  5       -  -   5      nU R	                  U5      n[        X5        [        [        U5      [        U5      5        g N              ?)rG   	complex64rO   rP   r*   r   r>   rI   s      r   test_numpy_scalar_complex,test_numpy_msgpack.test_numpy_scalar_complex:   sZ    LL)B1A,AAB""1%QT!Wd5k*r   c                     [         R                  R                  5       nU R                  U5      n[	        X5        [	        [        U5      [        U5      5        g r   rG   rO   rP   r*   r   r>   rI   s      r   test_scalar_float$test_numpy_msgpack.test_scalar_float@   s<    IINN""1%QT!Wd5k*r   c                     [         R                  R                  5       S[         R                  R                  5       -  -   nU R                  U5      n[	        X5        [	        [        U5      [        U5      5        g rT   rZ   rI   s      r   test_scalar_complex&test_numpy_msgpack.test_scalar_complexF   sQ    IINNrBIINN$444""1%QT!Wd5k*r   c           	      p   [        S5       Vs/ s H5  n[        R                  " [        R                  R	                  5       5      PM7     nnU R                  U5      n[        X#5        [        U Vs/ s H  n[        U5      PM     snU Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf s  snf N   )rangerG   rN   rO   rP   r*   r   r>   r   ir(   rJ   es        r   test_list_numpy_float(test_numpy_msgpack.test_list_numpy_floatL   s    388<8aRZZ		()8<""1%1$Q/QDGQ/51I5a$q'51IJ = 01Is   <B)1B.B3
c           
      Z   [        S5       Vs/ s H5  n[        R                  " [        R                  R	                  5       5      PM7     sn[        S5       Vs/ s HW  n[        R
                  " [        R                  R	                  5       S[        R                  R	                  5       -  -   5      PMY     sn-   nU R                  U5      n[        X#5        [        U Vs/ s H  n[        U5      PM     snU Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf s  snf s  snf Nrb   rU   )	rc   rG   rN   rO   rP   
complex128r*   r   r>   rd   s        r   test_list_numpy_float_complex0test_numpy_msgpack.test_list_numpy_float_complexR   s    388<8aRZZ		()8<MRSTX@
MUBMM"))..*R"))..2B-BBCX@
 
 ""1%1$Q/QDGQ/51I5a$q'51IJ = @

 01Is   <DAD!D#<D(
c           	      H   [        S5       Vs/ s H!  n[        R                  R                  5       PM#     nnU R	                  U5      n[        X#5        [        U Vs/ s H  n[        U5      PM     snU Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf s  snf ra   rc   rG   rO   rP   r*   r   r>   rd   s        r   test_list_float"test_numpy_msgpack.test_list_floatZ   sz    ',Qx0x!RYY^^x0""1%1$Q/QDGQ/51I5a$q'51IJ 1 01Is   (BB8B
c           	         [        S5       Vs/ s HC  n[        R                  R                  5       S[        R                  R                  5       -  -   PME     nnU R	                  U5      n[        X#5        [        U Vs/ s H  n[        U5      PM     snU Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf s  snf rj   ro   rd   s        r   test_list_float_complex*test_numpy_msgpack.test_list_float_complex`   s    AFqJAbiinnbiinn&6!66J""1%1$Q/QDGQ/51I5a$q'51IJ K 01Is   A
B7?B<C
c                     [        S5       Vs/ s H  nSU-  PM
     nnU R                  U5      n[        X#5        [        U Vs/ s H  n[        U5      PM     sn[        /S-  5        g s  snf s  snf )Nrb      x)rc   r*   r   r>   r?   rd   s        r   test_list_str test_numpy_msgpack.test_list_strf   sc    $Qx(x!TAXx(""1%1$U3UDGU3eWq[A ) 4s   A*A/c           	         SSS.nU R                  U5      n[        [        UR                  5       5      [        UR                  5       5      5        [        [        UR                  5       5       Vs/ s H  n[	        U5      PM     sn[        UR                  5       5       Vs/ s H  n[	        U5      PM     sn5        [        [        UR                  5       5      [        UR                  5       5      5        [        [        UR                  5       5       Vs/ s H  n[	        U5      PM     sn[        UR                  5       5       Vs/ s H  n[	        U5      PM     sn5        g s  snf s  snf s  snf s  snf N      ?       @r4   r   r*   r   sortedvaluesr>   keysr   r(   rJ   rf   s       r   test_dict_float"test_numpy_msgpack.test_dict_floatl   s	   #&""1%6!((*-velln/EF$QXXZ010T!W01$U\\^454T!W45	
 	6!&&(+VEJJL-AB$QVVX./.T!W./6%**,CW1XCWa$q'CW1X	
	 25 01X   1E(#E-
E2E7
c           	         SSS.nU R                  U5      n[        [        UR                  5       [        R
                  R                  S9[        UR                  5       [        R
                  R                  S95        [        [        UR                  5       [        R
                  R                  S9 Vs/ s H  n[        U5      PM     sn[        UR                  5       [        R
                  R                  S9 Vs/ s H  n[        U5      PM     sn5        [        [        UR                  5       5      [        UR                  5       5      5        [        [        UR                  5       5       Vs/ s H  n[        U5      PM     sn[        UR                  5       5       Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf s  snf s  snf Ny      ?      ?y       @       @r}   )key)	r*   r   r   r   rG   linalgnormr>   r   r   s       r   test_dict_complex$test_numpy_msgpack.test_dict_complexy   s8   4""1%188:299>>25<<>ryy~~6	
 	$QXXZRYY^^DEDT!WDE$U\\^HIHT!WHI	
 	6!&&(+VEJJL-AB$QVVX./.T!W./6%**,CW1XCWa$q'CW1X	
	 FI 01Xs   6G?G	
5G'G
c           	         SSS.nU R                  U5      n[        [        UR                  5       5      [        UR                  5       5      5        [        [        UR                  5       5       Vs/ s H  n[	        U5      PM     sn[        UR                  5       5       Vs/ s H  n[	        U5      PM     sn5        [        [        UR                  5       5      [        UR                  5       5      5        [        [        UR                  5       5       Vs/ s H  n[	        U5      PM     sn[        UR                  5       5       Vs/ s H  n[	        U5      PM     sn5        g s  snf s  snf s  snf s  snf )Ns   xxxs   yyyyr}   r~   r   s       r   test_dict_str test_numpy_msgpack.test_dict_str   s	   W-""1%6!((*-velln/EF$QXXZ010T!W01$U\\^454T!W45	
 	6!&&(+VEJJL-AB$QVVX./.T!W./6%**,CW1XCWa$q'CW1X	
	 25 01Xr   c           	      H   [         R                  " S5      [         R                  " S5      S.nU R                  U5      n[        [	        UR                  5       5      [	        UR                  5       5      5        [        [	        UR                  5       5       Vs/ s H  n[        U5      PM     sn[	        UR                  5       5       Vs/ s H  n[        U5      PM     sn5        [        [	        UR                  5       5      [	        UR                  5       5      5        [        [	        UR                  5       5       Vs/ s H  n[        U5      PM     sn[	        UR                  5       5       Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf s  snf s  snf rz   )rG   rN   r*   r   r   r   r>   r   r   s       r   test_dict_numpy_float(test_numpy_msgpack.test_dict_numpy_float   s   ZZ_bjjo>""1%6!((*-velln/EF$QXXZ010T!W01$U\\^454T!W45	
 	6!&&(+VEJJL-AB$QVVX./.T!W./6%**,CW1XCWa$q'CW1X	
	 25 01Xs   FF
F3F
c           	          [         R                  " S5      [         R                  " S5      S.nU R                  U5      n[        [	        UR                  5       [         R                  R                  S9[	        UR                  5       [         R                  R                  S95        [        [	        UR                  5       [         R                  R                  S9 Vs/ s H  n[        U5      PM     sn[	        UR                  5       [         R                  R                  S9 Vs/ s H  n[        U5      PM     sn5        [        [	        UR                  5       5      [	        UR                  5       5      5        [        [	        UR                  5       5       Vs/ s H  n[        U5      PM     sn[	        UR                  5       5       Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf s  snf s  snf r   )
rG   rk   r*   r   r   r   r   r   r>   r   r   s       r   test_dict_numpy_complex*test_numpy_msgpack.test_dict_numpy_complex   sJ   ]]:.j8QR""1%188:299>>25<<>ryy~~6	
 	$QXXZRYY^^DEDT!WDE$U\\^HIHT!WHI	
 	6!&&(+VEJJL-AB$QVVX./.T!W./6%**,CW1XCWa$q'CW1X	
	 FI 01Xs   G,'G1
G6G;
c                     [         R                  R                  S5      R                  [         R                  5      nU R                  U5      n[        X5        [        UR                  UR                  5        g ra   	rG   rO   rP   astyperN   r*   r   r   dtyperI   s      r   test_numpy_array_float)test_numpy_msgpack.test_numpy_array_float   sM    IINN1$$RZZ0""1%1$QWWekk*r   c                 :   [         R                  R                  S5      S[         R                  R                  S5      -  -   R                  [         R                  5      nU R                  U5      n[        X5        [        UR                  UR                  5        g rj   )	rG   rO   rP   r   rk   r*   r   r   r   rI   s      r   test_numpy_array_complex+test_numpy_msgpack.test_numpy_array_complex   sd    YY^^AbiinnQ&7!77??N""1%1$QWWekk*r   c                     [         R                  R                  SS5      R                  [         R                  5      nU R                  U5      n[        X5        [        UR                  UR                  5        g ra   r   rI   s      r   test_numpy_array_float_2d,test_numpy_msgpack.test_numpy_array_float_2d   sO    IINN1a ''

3""1%1$QWWekk*r   c                     [         R                  " / SQ5      nU R                  U5      n[        X5        [	        UR
                  UR
                  5        g )N)s   aaas   bbbbs   ccccc)rG   arrayr*   r   r   r   rI   s      r   test_numpy_array_str'test_numpy_msgpack.test_numpy_array_str   s;    HH01""1%1$QWWekk*r   c                 J   [         R                  " SSSSS/4/[         R                  " S[         R                  4S[         R                  4SS	[         R                  S
4/5      5      nU R                  U5      n[        X5        [        UR                  UR                  5        g )N         ar{   r|   arg0arg1)arg2S1arg3)r   )rG   r   r   uint32rN   r*   r   r   rI   s      r   test_numpy_array_mixed)test_numpy_msgpack.test_numpy_array_mixed   s    HHD3*%&HHRYY'RYY'"RZZ.	

 ""1%1$QWWekk*r   c                     [         R                  " S[         R                  5      SS2SS24   nU R                  U5      n[	        X5        [        UR                  UR                  5        g )N)
   r   r   rb   )rG   onesr   r*   r   r   r   rI   s      r   test_numpy_array_noncontiguous1test_numpy_msgpack.test_numpy_array_noncontiguous   sQ    GGHbii(1ac2""1%1$QWWekk*r   c           	      ,   S[         R                  " S5      [         R                  " S5      S/nU R                  U5      n[	        X5        [	        U Vs/ s H  n[        U5      PM     snU Vs/ s H  n[        U5      PM     sn5        g s  snf s  snf )Nr{   g      @g      @r4   )rG   rN   rk   r*   r   r>   r   s       r   test_list_mixed"test_numpy_msgpack.test_list_mixed   so    "**S/2==#6?""1%1$Q/QDGQ/51I5a$q'51IJ/1Is   B/B
c                 Z    [        SS9nU R                  U5      nU R                  X5        g )Ns   test marshal/unmarshalr   )r   r:   assertEqualrI   s      r   
test_chaintest_numpy_msgpack.test_chain   s+    45--a0"r   r   N)FT)"r   r   r   r   r*   r1   r5   r:   rA   rD   rK   rQ   rW   r[   r^   rg   rl   rp   rs   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r       s    /6
S>
=+++++KKKKB

 


 +++++ +K#r   r    )unittestr   numpy.testingr   r   numpyrG   srslyr   objectr   r    r   r   r   <module>r      s-     :  G G[# [#r   