+
    nDjS                        ^ RI Ht ^ RIt^ RIt^ RIHtHtHtH	t	 ^ RI
t
^ RIHt ^ RIHt ]P                  ! ]P                  ! ]4      R4      tR tR t]P(                  ! ]4      t ! R	 R
4      t ! R R4      t ! R R]4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      t ! R R4      tR t R t!R t"R t#R# )    )pathN)assert_equalassert_array_equalassert_assert_allclose)readsav)_idldatac                @   \        W4       \        V\        4      '       d!   \        \        V 4      \        V4      4       R# \        \        P
                  ! V 4      P                  P                  \        P
                  ! V4      P                  P                  4       R# )z*Assert whether value AND type are the sameN)r   
isinstancestrtypenpasarraydtypeabs   &&Q/data/cameron/venvs/s3viz/lib/python3.14/site-packages/scipy/io/tests/test_idl.pyassert_identicalr      s[    !ST!Wd1g&RZZ]((--rzz!}/B/B/G/GH    c                    \        W4       \        V P                  P                  VP                  P                  4       R# )z+Assert whether values AND type are the sameN)r   r   r   r   r   s   &&r   assert_array_identicalr      s$    qqww||,r   c                   &   a  ] tR t^"t o R tRtV tR# )	TestIdictc                |   R \         P                  ! R4      /p\        V4      p\        \        P
                  ! \        R4      VRR7      p\        V\        V4      4       \        R V9   4       \        VR ,          \         P                  ! R4      4       \        VR,          \         P                  ! ^4      4       R# )r   i  scalar_byte.savF)idictverbosei8uN)r   int16idr   r   join	DATA_PATHr   r   r   uint8)selfcustom_dictoriginal_idss   &   r   
test_idictTestIdict.test_idict$   s    BHHSM*oDIIi):;%u6["Q%(q3#/5288C=1r    N)__name__
__module____qualname____firstlineno__r*   __static_attributes____classdictcell____classdict__s   @r   r   r   "   s     2 2r   r   c                   z   a  ] tR t^/t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tR tR tR tRtV tR# )TestScalarsc                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! ^4      4       R# )r   Fr   Nr   r   r#   r$   r   r    r   r%   r&   r)   s   & r   	test_byteTestScalars.test_byte2   s0    DIIi):;UK.r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_int16.savFr8   Ni`)r   r   r#   r$   r   i16sr   r!   r:   s   & r   
test_int16TestScalars.test_int166   s1    DIIi);<eL&!12r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_int32.savFr8   Ni.i)r   r   r#   r$   r   i32sr   int32r:   s   & r   
test_int32TestScalars.test_int32:   s1    DIIi);<eL+!67r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_float32.savFr8   N)r   r   r#   r$   r   f32r   float32r:   s   & r   test_float32TestScalars.test_float32>   s1    DIIi)=>N

> :;r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_float64.savFr8   NgCmC)r   r   r#   r$   r   f64r   float64r:   s   & r   test_float64TestScalars.test_float64B   s2    DIIi)=>N

+C DEr   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_complex32.savFr8   Ny  )jB̕h~=r)r   r   r#   r$   r   c32r   	complex64r:   s   & r   test_complex32TestScalars.test_complex32F   s2    DIIi)?@%P-E FGr   c                    \        \        P                  ! \        R 4      RR7      pRp\	        VP
                  \        P                  ! V4      4       R# )zscalar_string.savFr8   z.The quick brown fox jumps over the lazy pythonN)r   r   r#   r$   r   r)   r   bytes_)r&   r)   msgs   &  r   
test_bytesTestScalars.test_bytesJ   s5    DIIi)<=uM>biin-r   c                    R # Nr,   r&   s   &r   test_structureTestScalars.test_structureO       r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_complex64.savFr8   N*3Wo)r   r   r#   r$   r   c64r   
complex128r:   s   & r   test_complex64TestScalars.test_complex64R   s6    DIIi)?@%PEEMMJK	
r   c                    R # r\   r,   r]   s   &r   test_heap_pointerTestScalars.test_heap_pointerY   r`   r   c                    R # r\   r,   r]   s   &r   test_object_reference!TestScalars.test_object_reference\   r`   r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_uint16.savFr8   i  N)r   r   r#   r$   r   i16ur   uint16r:   s   & r   test_uint16TestScalars.test_uint16_   s1    DIIi)<=uM5!12r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_uint32.savFr8   l    N)r   r   r#   r$   r   i32ur   uint32r:   s   & r   test_uint32TestScalars.test_uint32c   s1    DIIi)<=uM:!67r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_int64.savFr8   Nl'{ )r   r   r#   r$   r   i64sr   int64r:   s   & r   
test_int64TestScalars.test_int64g   s2    DIIi);<eL*>!?@r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       R# )zscalar_uint64.savFr8   l   ( N)r   r   r#   r$   r   i64ur   uint64r:   s   & r   test_uint64TestScalars.test_uint64k   s2    DIIi)<=uM+?!@Ar   r,   N)r-   r.   r/   r0   r;   r?   rD   rJ   rO   rT   rY   r^   re   rh   rk   rp   ru   rz   r   r1   r2   r3   s   @r   r6   r6   /   sZ     /38<FH.

38AB Br   r6   c                   &   a  ] tR t^pt o R tRtV tR# )TestCompressedc           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! ^4      4       \	        VP                  \        P                  ! R4      4       \	        VP                  \        P                  ! R4      4       \        VP                  P                  R4       \	        VP                  P                   ^ ,          \        P"                  ! . RO\        P$                  R7      4       \	        VP                  P&                  ^ ,          \        P"                  ! . R	O\        P                  R7      4       \	        VP                  P(                  ^ ,          \        P"                  ! \        P*                  ! R
4      \        P*                  ! R4      .4      4       \	        VP                  P,                  ^ ,          \        P"                  ! . RO\.        R7      4       R# )zvarious_compressed.savFr8   r   NrG   rb         r               r         @      @g      @g      @      ?       @      @       @s   cheeses   bacon   spam)r   r   r#   r$   r   r    r   r%   rH   rI   rc   rd   r   array5dshapearraysr   arrayr!   r   crS   dobjectr:   s   & r   test_compressedTestCompressed.test_compresseds   s"   DIIi)ABER.

> :;EEMMJK	
 	QYY__o6A"(((KLA1A(TUA2<<#5r||D7I"JK	MA"@O	Qr   r,   N)r-   r.   r/   r0   r   r1   r2   r3   s   @r   r   r   p   s     Q Qr   r   c                   P   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestArrayDimensionsc                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_1d.savFr8   N{   )r   r   r#   r$   r   array1dr   r:   s   & r   test_1dTestArrayDimensions.test_1d   s,    DIIi)?@%PQYY__g.r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_2d.savFr8   N      )r   r   r#   r$   r   array2dr   r:   s   & r   test_2dTestArrayDimensions.test_2d   s,    DIIi)?@%PQYY__h/r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_3d.savFr8   N   r   r   )r   r   r#   r$   r   array3dr   r:   s   & r   test_3dTestArrayDimensions.test_3d   ,    DIIi)?@%PQYY__l3r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_4d.savFr8   Nr   r         )r   r   r#   r$   r   array4dr   r:   s   & r   test_4dTestArrayDimensions.test_4d   r   r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_5d.savFr8   Nr   )r   r   r#   r$   r   r   r   r:   s   & r   test_5dTestArrayDimensions.test_5d   s,    DIIi)?@%PQYY__o6r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_6d.savFr8   Nr   r   r   r   r   r   )r   r   r#   r$   r   array6dr   r:   s   & r   test_6dTestArrayDimensions.test_6d   s-    DIIi)?@%PQYY__&89r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_7d.savFr8   Nr   r   r   r   r   r   r   )r   r   r#   r$   r   array7dr   r:   s   & r   test_7dTestArrayDimensions.test_7d   s-    DIIi)?@%PQYY__&;<r   c                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       R# )zarray_float32_8d.savFr8   Nr   r   r   r   r   r   r   r   )r   r   r#   r$   r   array8dr   r:   s   & r   test_8dTestArrayDimensions.test_8d   s-    DIIi)?@%PQYY__&>?r   r,   Nr-   r.   r/   r0   r   r   r   r   r   r   r   r   r1   r2   r3   s   @r   r   r      s4     /0447:=@ @r   r   c                   P   a  ] tR t^t o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestStructuresc                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! ^4      4      4       \	        VP
                  P                  \        P                  ! \        P                  ! ^4      4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      4      4       \	        VP
                  P                   \        P                  ! R.\"        R7      4       \	        VP
                  P$                  \        P                  ! \        P&                  ! R4      4      4       R# )	zstruct_scalars.savFr8         @r   r   r   N            @)r   r   r#   r$   r   scalarsr   r   r   r!   r   rC   r   rI   r   rN   er   frS   r:   s   & r   test_scalarsTestStructures.test_scalars   s    DIIi)=>Nbhhrxx{&;<bhhrxx{&;<bhhrzz"~&>?bhhrzz"~&>?bhhy&GHbhhr||F/C&DEr   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      4       \	        VP
                  P                   \        P                  ! R^4      P#                  \$        4      4       \	        VP
                  P&                  \        P                  ! \        P(                  ! R4      ^4      4       R# )zstruct_scalars_replicated.savFr8   r   r   r   Nr   )r   r   r#   r$   r   scalars_repr   r   repeatr!   r   rC   r   rI   r   rN   r   astyper   r   rS   r:   s   & r   test_scalars_replicated&TestStructures.test_scalars_replicated   s    DIIi)HI!#"))BHHQK*CD"))BHHQK*CD"))BJJrNA*FG"))BJJrNA*FG"))GQ*?*F*Fv*NO"))BLL4H!*LMr   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      P                  ^^^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! ^4      ^4      P                  ^^^4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      P                  ^^^4      4       \	        VP
                  P                  \        P                  ! \        P                   ! R4      ^4      P                  ^^^4      4       \	        VP
                  P"                  \        P                  ! R^4      P                  ^^^4      P%                  \&        4      4       \	        VP
                  P(                  \        P                  ! \        P*                  ! R4      ^4      P                  ^^^4      4       R# )z struct_scalars_replicated_3d.savFr8   r   r   r   Nr   )r   r   r#   r$   r   r   r   r   r   r!   reshaper   rC   r   rI   r   rN   r   r   r   r   rS   r:   s   & r   test_scalars_replicated_3d)TestStructures.test_scalars_replicated_3d   sm   DIIi)KL!#"))BHHQK*D*L*LQPQST*UV"))BHHQK*D*L*LQPQST*UV2::b>26>>q!QG	I2::b>26>>q!QG	I7B/771a@GGO	Q2<<#7<DDQ1M	Or   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  ^ ,          \        P                  ! . RO\        P                  R7      4       \	        VP
                  P                  ^ ,          \        P                  ! . RO\        P                  R7      4       \	        VP
                  P                  ^ ,          \        P                  ! \        P                  ! R4      \        P                  ! R4      .4      4       \	        VP
                  P                  ^ ,          \        P                  ! . R	O\        R7      4       R# )
zstruct_arrays.savFr8   r   Nr   r   r   r   r   )r   r   r#   r$   r   r   r   r   r   r!   r   rI   r   rS   r   r   r:   s   & r   test_arraysTestStructures.test_arrays   s    DIIi)<=uMqxxzz!}bhhy.QRqxxzz!}!xx(8

K	Mqxxzz!}!xxd);R\\$=O(PQ	Sqxxzz!}!xx(FfU	Wr   c           
     f   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \!        ^4       EFF  p\#        VP
                  P                  V,          \        P$                  ! . RO\        P&                  R7      4       \#        VP
                  P                  V,          \        P$                  ! . RO\        P(                  R7      4       \#        VP
                  P                  V,          \        P$                  ! \        P*                  ! R4      \        P*                  ! R	4      .4      4       \#        VP
                  P                  V,          \        P$                  ! . R
O\,        R7      4       EKI  	  R# )zstruct_arrays_replicated.savFr8   r   Nr   r   r   r   r   r   r   r   r#   r$   r   
arrays_repr   r   r   r   object_r   r   r   r   r   ranger   r   r!   rI   rS   r   r&   r)   is   &  r   test_arrays_replicated%TestStructures.test_arrays_replicated   s   DIIi)GHRWX 	$$))RZZ78$$))RZZ78$$))RZZ78$$))RZZ78 	Q\\^^))51Q\\^^))51Q\\^^))51Q\\^^))51 qA"1<<>>!#4#%88IRXX#FH"1<<>>!#4#%88,<BJJ#OQ"1<<>>!#4#%88R\\$-?-/\\$-?-A $BC #1<<>>!#4#%88,J28$:; r   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \!        ^4       EFv  p\!        ^4       EFb  p\!        ^4       EFN  p\#        VP
                  P                  W#V3,          \        P$                  ! . RO\        P&                  R7      4       \#        VP
                  P                  W#V3,          \        P$                  ! . RO\        P(                  R7      4       \#        VP
                  P                  W#V3,          \        P$                  ! \        P*                  ! R4      \        P*                  ! R	4      .4      4       \#        VP
                  P                  W#V3,          \        P$                  ! . R
O\,        R7      4       EKQ  	  EKe  	  EKy  	  R# )zstruct_arrays_replicated_3d.savFr8   r   Nr   r   r   r   r   r   r   r   r   )r&   r)   r   jks   &    r   test_arrays_replicated_3d(TestStructures.test_arrays_replicated_3d   s   DIIi)JK!# 	$$))RZZ78$$))RZZ78$$))RZZ78$$))RZZ78 	Q\\^^))95Q\\^^))95Q\\^^))95Q\\^^))95 qA1XqA*1<<>>!'+B+-88IRXX+NP*1<<>>!'+B+-884D:<**,FG +1<<>>!'+B+-88R\\$5G57\\$5G5I ,JK +1<<>>!'+B+-884R:@,BC "  r   c                z   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! ^ .\        P                  R7      4       \	        VP
                  P                  \        P                  ! ^ .\        P                  R7      4       \	        VP
                  P                  \        P                  ! ^ .\        P                  R7      4       \	        VP
                  P                  \        P                  ! ^.\        P                  R7      4       R# )zstruct_inherit.savFr8   r   N)r   r   r#   r$   r   fcxr   r   r!   yrr   r:   s   & r   test_inheritanceTestStructures.test_inheritance  s    DIIi)=>N1#RXX!>?1#RXX!>?1#RXX!>?1#RXX!>?r   c                   \         P                  ! 4       ;_uu_ 4        \         P                  ! R R\        4       \	        \
        P                  ! \        R4      RR7      pRRR4       \        XP                  P                  ^ ,          \        P                  ! ^7^B.\        P                  R7      4       R#   + '       g   i     L_; i)ignorez.Not able to verify number of bytes from headerzstruct_arrays_byte_idl80.savFr8   Nr   )warningscatch_warningsfilterwarningsUserWarningr   r   r#   r$   r   r   r   r   r   r%   r:   s   & r   test_arrays_corrupt_idl80(TestStructures.test_arrays_corrupt_idl80  s|    $$&&##JKY		),JK %'A ' 	q288RG288#DE '&s   AB88C	r,   N)r-   r.   r/   r0   r   r   r   r   r   r   r   r  r1   r2   r3   s   @r   r   r      s;     FNOW;8C@@F Fr   r   c                   &   a  ] tR tRt o R tRtV tR# )TestPointersi$  c                <   \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! R4      4       \	        VP                  \        P                  ! R4      4       \        VP
                  VP                  J 4       R# )zscalar_heap_pointer.savFr8   Nrb   )
r   r   r#   r$   r   c64_pointer1r   rd   c64_pointer2r   r:   s   & r   test_pointersTestPointers.test_pointers'  sk    DIIi)BCUSNNMMJK	
 	NNMMJK	
 	!..01r   r,   N)r-   r.   r/   r0   r  r1   r2   r3   s   @r   r  r  $  s     
2 
2r   r  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestPointerArrayi4  c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  ^ ,          4      8H  4      4       R# )zarray_float32_pointer_1d.savFr8   r   Nr   )r   r   r#   r$   r   r   r   r   r   allrI   vect_idr"   r:   s   & r   r   TestPointerArray.test_1d7  s{    DIIi)GHRWXQYY__g.qyyBJJrN234wqyy)R		!-==>?r   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_2d.savFr8   r   Nr   )r   r   )r   r   r#   r$   r   r   r   r   r   r  rI   r  r"   r:   s   & r   r   TestPointerArray.test_2d=  s{    DIIi)GHRWXQYY__h/qyyBJJrN234wqyy)R		#-??@Ar   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_3d.savFr8   r   Nr   r   r   r   )r   r   r#   r$   r   r   r   r   r   r  rI   r  r"   r:   s   & r   r   TestPointerArray.test_3dC  s|    DIIi)GHRWXQYY__l3qyyBJJrN234wqyy)R		%0@-AABCr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_4d.savFr8   r   Nr   )r   r   r   r   )r   r   r#   r$   r   r   r   r   r   r  rI   r  r"   r:   s   & r   r   TestPointerArray.test_4dI  s|    DIIi)GHRWXQYY__l3qyyBJJrN234wqyy)R		'0B-CCDEr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_5d.savFr8   r   Nr   )r   r   r   r   r   )r   r   r#   r$   r   r   r   r   r   r  rI   r  r"   r:   s   & r   r   TestPointerArray.test_5dO  s|    DIIi)GHRWXQYY__o6qyyBJJrN234wqyy)R		)0D-EEFGr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_6d.savFr8   r   Nr   )r   r   r   r   r   r   )r   r   r#   r$   r   r   r   r   r   r  rI   r  r"   r:   s   & r   r   TestPointerArray.test_6dU  s}    DIIi)GHRWXQYY__&89qyyBJJrN234wqyy)R		+0F-GGHIr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_7d.savFr8   r   Nr   )r   r   r   r   r   r   r   )r   r   r#   r$   r   r   r   r   r   r  rI   r  r"   r:   s   & r   r   TestPointerArray.test_7d[  s}    DIIi)GHRWXQYY__&;<qyyBJJrN234wqyy)R		-0H-IIJKr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  R4       \        \        P                  ! VP
                  \        P                  ! R4      8H  4      4       \        \        P                  ! \        VP
                  4      \        VP
                  R,          4      8H  4      4       R# )zarray_float32_pointer_8d.savFr8   r   Nr   )r   r   r   r   r   r   r   r   )r   r   r#   r$   r   r   r   r   r   r  rI   r  r"   r:   s   & r   r   TestPointerArray.test_8da  s}    DIIi)GHRWXQYY__&>?qyyBJJrN234wqyy)R		/0J-KKLMr   r,   Nr   r3   s   @r   r  r  4  s;     @BDFHJLN Nr   r  c                   D   a  ] tR tRt o R tR tR tR tR tR t	Rt
V tR	# )
TestPointerStructuresih  c                ^   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! R4      \        P                  R7      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      \        P                  R7      4       \        \        VP
                  P                  ^ ,          4      \        VP
                  P                  ^ ,          4      8H  4       R# )zstruct_pointers.savFr8   r   r   N)r   r   r#   r$   r   pointersgr   r   rI   r   hr   r"   r:   s   & r   r   "TestPointerStructures.test_scalarsk  s    DIIi)>?Orxx

2bjj'QRrxx

2bjj'QR1::<<?#r!**,,q/'::;r   c                   \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \	        VP
                  P                  \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \        \        P                  ! \        VP
                  P                  4      \        VP
                  P                  4      8H  4      4       R# )zstruct_pointers_replicated.savFr8   r   N)r   r   r#   r$   r   pointers_repr#  r   r   rI   r   r   r$  r   r  r  r:   s   & r   test_pointers_replicated.TestPointerStructures.test_pointers_replicatedq  s    DIIi)IJ!#))2::b>15<<RZZH	J))2::b>15<<RZZH	Jwq~~//0GANN<L<L4MMNOr   c                <   \        \        P                  ! \        R 4      RR7      p\        P
                  ! \        P                  ! R4      ^4      P                  ^^^4      P                  \        P                  4      p\        VP                  P                  V4       \        VP                  P                  V4       \        \        P                  ! \!        VP                  P                  4      \!        VP                  P                  4      8H  4      4       R# )z!struct_pointers_replicated_3d.savFr8   r   N)r   r   r#   r$   r   r   rI   r   r   r   r   r'  r#  r$  r   r  r  )r&   r)   s_expects   &  r   test_pointers_replicated_3d1TestPointerStructures.test_pointers_replicated_3dz  s    DIIi)LM!#99RZZ^R088AqAHHT))84))84wq~~//0GANN<L<L4MMNOr   c           	        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  ^ ,          \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \	        VP
                  P                  ^ ,          \        P                  ! \        P                  ! R4      ^4      P                  \        P                  4      4       \        \        P                  ! \        VP
                  P                  ^ ,          4      \!        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       \        \        P                  ! \        VP
                  P                  ^ ,          4      \!        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       \        \!        VP
                  P                  ^ ,          ^ ,          4      \!        VP
                  P                  ^ ,          ^ ,          4      8H  4       R# )zstruct_pointer_arrays.savFr8   r   N)r   r   r#   r$   r   r   r#  r   r   rI   r   r   r$  r   r  r  r"   r:   s   & r   r   !TestPointerStructures.test_arrays  sE   DIIi)DEuUqxxzz!}!yyB;BB2::N	Pqxxzz!}!yyB;BB2::N	Pwqxxzz!}-AHHJJqM!4D1EEFGwqxxzz!}-AHHJJqM!4D1EEFG188::a=#$188::a=+;(<<=r   c           
        \        \        P                  ! \        R 4      RR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        ^4       EF  p\        VP
                  P                  V,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \        VP
                  P                  V,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \	        \        P&                  ! \)        VP
                  P                  V,          4      \+        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       \	        \        P&                  ! \)        VP
                  P                  V,          4      \+        VP
                  P                  ^ ,          ^ ,          4      8H  4      4       EK  	  R# )z$struct_pointer_arrays_replicated.savFr8   r   Nr   )r   r   r#   r$   r   r   r#  r   r   r   r   r$  r   r   r   r   r   rI   r   r  r  r"   r   s   &  r   r   ,TestPointerStructures.test_arrays_replicated  s   DIIi)OP!# 	$$))RZZ78$$))RZZ78 	Q\\^^))51Q\\^^))51 qA"1<<>>!#4#%99RZZ^Q#?#F#Frzz#RT"1<<>>!#4#%99RZZ^Q#?#F#Frzz#RTBFF71<<>>!#45ALLNN1<Ma<P9QQRSBFF71<<>>!#45ALLNN1<Ma<P9QQRS r   c                   \         P                  ! \        R 4      p\        VRR7      p\	        VP
                  P                  P                  P                  \        P                  J 4       \	        VP
                  P                  P                  P                  \        P                  J 4       \        VP
                  P                  P                  R4       \        VP
                  P                  P                  R4       \        ^4       EF  p\        ^4       EF  p\        ^4       EF  p\        VP
                  P                  W4V3,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \        VP
                  P                  W4V3,          \        P                   ! \        P"                  ! R4      ^4      P%                  \        P                  4      4       \'        VP
                  P                  W4V3,          4      p\)        VP
                  P                  R,          ^ ,          4      p\        P*                  ! Wg8H  4      '       g   Q h\'        VP
                  P                  W4V3,          4      p\)        VP
                  P                  R,          ^ ,          4      p	\        P*                  ! W8H  4      '       d   EK  Q h	  EK  	  EK  	  R# )z'struct_pointer_arrays_replicated_3d.savFr8   r   Nr   r  )r   r#   r$   r   r   r   r#  r   r   r   r   r$  r   r   r   r   r   rI   r   r  r"   r  )
r&   pthr)   r   r   r   g0g1h0h1s
   &         r   r   /TestPointerStructures.test_arrays_replicated_3d  s   ii	#LMC' 	$$))RZZ78$$))RZZ78 	Q\\^^))95Q\\^^))95 qA1XqA*1<<>>!'+BIIbjjna8??

KM*1<<>>!'+BIIbjjna8??

KM a!89BALLNN73A67B66"(++++ a!89BALLNN73A67B66"(++++ "  r   r,   N)r-   r.   r/   r0   r   r(  r,  r   r   r   r1   r2   r3   s   @r   r   r   h  s+     <PP>T*, ,r   r   c                   *   a  ] tR tRt o RtR tRtV tR# )TestTagsi  z4Test that sav files with description tag read at allc                    \        \        P                  ! \        R 4      RR7      p\	        VP
                  \        P                  ! ^4      4       R# )zscalar_byte_descr.savFr8   Nr9   r:   s   & r   test_descriptionTestTags.test_description  s0    DIIi)@A5Q.r   r,   N)r-   r.   r/   r0   __doc__r<  r1   r2   r3   s   @r   r:  r:    s     >/ /r   r:  c                      \        \        P                  ! \        R 4      RR7      p \	        V P
                  R4       \	        V P                  \        P                  ! ^4      4       R# )znull_pointer.savFr8   N)	r   r   r#   r$   r   pointcheckr   r!   )r)   s    r   test_null_pointerrB    s>    		)%78%HAQWWd#QWWbhhqk*r   c                     \         P                  ! R R7      ;_uu_ 4       p \         P                  ! R4       \        \        P
                  ! \        R4      RR7      pRRR4       \        \        X 4      ^8H  4       \        \        V ^ ,          P                  4      R8H  4       \        XR,          \        P                  ! RR.4      4       R#   + '       g   i     Lz; i)	T)recordalwayszinvalid_pointer.savFr8   NzNVariable referenced by pointer not found in heap: variable will be set to Noner   )r   r   simplefilterr   r   r#   r$   r   lenr   messager   r   r   )wr)   s     r   test_invalid_pointerrJ    s     
	 	 	-	-h'DIIi)>?O 
. CFaKC! #G H IQsVRXXtTl34 
.	-s   =CC	c                     \         P                  ! R ^/4      p V R ,          ^8X  g   Q hV P                  ^8X  g   Q h\        P                  ! \
        4      ;_uu_ 4        V R,           RRR4       \        P                  ! \        RR7      ;_uu_ 4        V P                   RRR4       R#   + '       g   i     LK; i  + '       g   i     R# ; i)onetwoNzhas no attribute)match)r	   AttrDictrL  pytestraisesKeyErrorAttributeErrorrM  )r   s    r   test_attrdictrT    s    uaj!AU8q==55A::	x	 	 	% 
!	~-?	@	@	 
A	@ 
!	 	@	@	@s   
B+B>+B;	>C	c                   \        \        P                  ! \        R4      RR7      p\        P
                  ! . R
O4      p\        P                  ! VR\        P                  3,          ^,          V\        P                  R3,          ^,          ,           4      pVP                  R4      p\        W1P                  4       V P                  4       pRVP                  9   g   Q hRVP                  9   g   Q hRVP                  9   g   Q hR	# )z?Test that .sav file with IDENTIFICATION section read correctly.zidentification.savTr8   :NNNrI   zAuthor: x86_64zTitle: linuxzID Code: 8.4N)
g              ?       @r   r   r   r   r   rW  rV  )r   r   r#   r$   r   r   sqrtnewaxisr   r   r   
readouterrout)capsysr)   patternexpectedcaptureds   &    r   test_identificationr`    s     			)%9:DIAhhIJGwwwq"**}-2WRZZ]5Kq5PPQHy)HHcc"  "Hx||+++X\\)))X\\)))r   )$osr   r   numpyr   numpy.testingr   r   r   r   rP  scipy.ior   r	   r#   dirname__file__r$   r   r   	vectorizer"   r  r   r6   r   r   r   r  r  r   r:  rB  rJ  rT  r`  r,   r   r   <module>rh     s      5 5   IIdll8,f5	I- ,,r

2 
2>B >BBQ[ Q*!@ !@HxF xFv2 2 1N 1NhR, R,f/ /+5"*r   