L iYPddlmZddlZddlZddlmZmZmZm Z ddl Z ddl m Z ddl m Z ejejedZdZdZej(eZGd d ZGd d ZGd deZGddZGddZGddZGddZGddZGddZdZ e jBjDdZ#dZ$y))pathN) assert_equalassert_array_equalassert_suppress_warnings)readsav)_idldatac.t||t|trtt|t|ytt j |j jt j |j jy)z*Assert whether value AND type are the sameN)r isinstancestrtypenpasarraydtypeabs ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/scipy/io/tests/test_idl.pyassert_identicalrsZA!ST!Wd1g&RZZ]((--rzz!}/B/B/G/GHct||t|jj|jjy)z+Assert whether values AND type are the sameN)rrrrrs rassert_array_identicalrs&q!qww||,rceZdZdZy) TestIdictc`dtjdi}t|}tt j t d|d}t|t|td|vt|dtjdt|dtjdy)Nriscalar_byte.savF)idictverbosei8u) rint16idrrjoin DATA_PATHrrruint8)self custom_dict original_idss r test_idictzTestIdict.test_idict$sBHHSM* o DIIi):;%u 6["Q%(q3#/5288C=1rN)__name__ __module__ __qualname__r+rrrr"s2rrcfeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZy) TestScalarscttjtdd}t |j t jdy)NrFrr!rrr$r%rr rr&r'r*s r test_bytezTestScalars.test_byte2s0 DIIi):;U K .rcttjtdd}t |j t jdy)Nzscalar_int16.savFr3i`)rrr$r%ri16srr"r5s r test_int16zTestScalars.test_int166s1 DIIi);s1 DIIi)=> N > :;rcttjtdd}t |j t jdy)Nzscalar_float64.savFr3gCmC)rrr$r%rf64rfloat64r5s r test_float64zTestScalars.test_float64Bs2 DIIi)=> N +C DErcttjtdd}t |j t jdy)Nzscalar_complex32.savFr3y)jB̕h~=r)rrr$r%rc32r complex64r5s rtest_complex32zTestScalars.test_complex32Fs2 DIIi)?@% P -E FGrcttjtdd}d}t |j t j|y)Nzscalar_string.savFr3z.The quick brown fox jumps over the lazy python)rrr$r%rr*rbytes_)r'r*msgs r test_byteszTestScalars.test_bytesJs5 DIIi)<=u M>biin-rcyNr/r's rtest_structurezTestScalars.test_structureO rcttjtdd}t |j t jdy)Nzscalar_complex64.savFr3*3Wo)rrr$r%rc64r complex128r5s rtest_complex64zTestScalars.test_complex64Rs6 DIIi)?@% P EE MMJ K rcyrPr/rQs rtest_heap_pointerzTestScalars.test_heap_pointerYrSrcyrPr/rQs rtest_object_referencez!TestScalars.test_object_reference\rSrcttjtdd}t |j t jdy)Nzscalar_uint16.savFr3i)rrr$r%ri16uruint16r5s r test_uint16zTestScalars.test_uint16_s1 DIIi)<=u M5!12rcttjtdd}t |j t jdy)Nzscalar_uint32.savFr3l)rrr$r%ri32uruint32r5s r test_uint32zTestScalars.test_uint32cs1 DIIi)<=u M:!67rcttjtdd}t |j t jdy)Nzscalar_int64.savFr3l'{)rrr$r%ri64srint64r5s r test_int64zTestScalars.test_int64gs2 DIIi);!?@rcttjtdd}t |j t jdy)Nzscalar_uint64.savFr3l()rrr$r%ri64uruint64r5s r test_uint64zTestScalars.test_uint64ks2 DIIi)<=u M+?!@ArN)r,r-r.r6r9r=rBrFrJrNrRrXrZr\r`rdrhrlr/rrr1r1/sQ/38<FH.     38ABrr1ceZdZdZy)TestCompressedc ttjtdd}t |j t jdt |jt jdt |jt jdt|jjdt |jj dt j"gd t j$ t |jj&dt j"gd t j t |jj(dt j"t j*d t j*d gt |jj,dt j"gdt. y)Nzvarious_compressed.savFr3r!r?rUrqrrrr@g@g@g@?@@ @scheesesbaconspam)rrr$r%rr rr&r@rArVrWrarray5dshapearraysrarrayr"rcrIdobjectr5s rtest_compressedzTestCompressed.test_compressedss" DIIi)ABE R . > :; EE MMJ K  QYY__o6A"(((KLA1A(TUA2<<#5r||D7I"JK MA"@O QrN)r,r-r.rr/rrrnrnpsQrrnc<eZdZdZdZdZdZdZdZdZ dZ y ) TestArrayDimensionscttjtdd}t |j j dy)Nzarray_float32_1d.savFr3{)rrr$r%rarray1drr5s rtest_1dzTestArrayDimensions.test_1ds, DIIi)?@% PQYY__g.rcttjtdd}t |j j dy)Nzarray_float32_2d.savFr3 )rrr$r%rarray2drr5s rtest_2dzTestArrayDimensions.test_2ds, DIIi)?@% PQYY__h/rcttjtdd}t |j j dy)Nzarray_float32_3d.savFr3 rr)rrr$r%rarray3drr5s rtest_3dzTestArrayDimensions.test_3d, DIIi)?@% PQYY__l3rcttjtdd}t |j j dy)Nzarray_float32_4d.savFr3rqrt)rrr$r%rarray4drr5s rtest_4dzTestArrayDimensions.test_4drrcttjtdd}t |j j dy)Nzarray_float32_5d.savFr3rp)rrr$r%rrrr5s rtest_5dzTestArrayDimensions.test_5ds, DIIi)?@% PQYY__o6rcttjtdd}t |j j dy)Nzarray_float32_6d.savFr3rrrsrqrtrrrq)rrr$r%rarray6drr5s rtest_6dzTestArrayDimensions.test_6ds- DIIi)?@% PQYY__&89rcttjtdd}t |j j dy)Nzarray_float32_7d.savFr3rwrvrwrrrqrrrw)rrr$r%rarray7drr5s rtest_7dzTestArrayDimensions.test_7ds- DIIi)?@% PQYY__&;?rN r,r-r.rrrrrrrrr/rrrrs+/0447:=@rrcneZdZdZdZdZdZdZdZdZ e jjdZ y ) TestStructuresc~ttjtdd}t |j j tjtjdt |j jtjtjdt |j jtjtjdt |j jtjtjdt |j j tjdgt" t |j j$tjtj&d y) Nzstruct_scalars.savFr3rvrw@rzr~rx@)rrr$r%rscalarsrrrr"rr<rrArrEerfrIr5s r test_scalarszTestStructures.test_scalarss DIIi)=> Nbhhrxx{&;<bhhrxx{&;<bhhrzz"~&>?bhhrzz"~&>?bhhy&GHbhhr||F/C&DErcttjtdd}t |j j tjtjddt |j jtjtjddt |j jtjtjddt |j jtjtjddt |j j tjd dj#t$t |j j&tjtj(d dy) Nzstruct_scalars_replicated.savFr3rvrtrwrrzr~r)rrr$r%r scalars_reprrrepeatr"rr<rrArrErastyperrrIr5s rtest_scalars_replicatedz&TestStructures.test_scalars_replicateds DIIi)HI! #"))BHHQK*CD"))BHHQK*CD"))BJJrNA*FG"))BJJrNA*FG"))GQ*?*F*Fv*NO"))BLL4H!*LMrcnttjtdd}t |j j tjtjddjdddt |j jtjtjddjdddt |j jtjtjd djdddt |j jtjtj d djdddt |j j"tjd djdddj%t&t |j j(tjtj*d djdddy) Nz struct_scalars_replicated_3d.savFr3rvrqrrrwrrzr~r)rrr$r%rrrrrr"reshaperr<rrArrErrrrrIr5s rtest_scalars_replicated_3dz)TestStructures.test_scalars_replicated_3dsm DIIi)KL! #"))BHHQK*D*L*LQPQST*UV"))BHHQK*D*L*LQPQST*UV2::b>26>>q!QG I2::b>26>>q!QG I7B/771a@GGO Q2<<#7<DDQ1M Orc ttjtdd}t |j j dtjgdtjt |j jdtjgdtjt |j jdtjtjdtjd gt |j jdtjgd ty) Nzstruct_arrays.savFr3rrurxryr{r|r})rrr$r%rrrrrr"rrArrIrrr5s r test_arrayszTestStructures.test_arrayss DIIi)<=u Mqxxzz!}bhhy.QRqxxzz!}!xx(8 K Mqxxzz!}!xxd);R\\$=O(PQ Sqxxzz!}!xx(FfU Wrc 2ttjtdd}t |j j jjtjut |j jjjtjut |j jjjtjut |j jjjtjut|j j jdt|j jjdt|j jjdt|j jjdt!dD]/}t#|j j |tj$gdtj&t#|j j|tj$gdtj(t#|j j|tj$tj*d tj*d gt#|j j|tj$gd t,2y) Nzstruct_arrays_replicated.savFr3rtrtrurxryr{r|r}rrr$r%r arrays_reprrrrobject_rrrrrrangerrr"rArIrr'r*is rtest_arrays_replicatedz%TestStructures.test_arrays_replicateds DIIi)GHRW X  $$))RZZ78 $$))RZZ78 $$))RZZ78 $$))RZZ78 Q\\^^))51Q\\^^))51Q\\^^))51Q\\^^))51q ;A "1<<>>!#4#%88IRXX#F H "1<<>>!#4#%88,>!#4#%88R\\$-?-/\\$-?-A$B C #1<<>>!#4#%88,J28$: ; ;rc ttjtdd}t |j j jjtjut |j jjjtjut |j jjjtjut |j jjjtjut|j j jdt|j jjdt|j jjdt|j jjdt!dD]_}t!dD]M}t!dD];}t#|j j |||ftj$gdtj& t#|j j|||ftj$gd tj( t#|j j|||ftj$tj*d tj*d gt#|j j|||ftj$gd t, >Pby)Nzstruct_arrays_replicated_3d.savFr3rqrrrwrqrrrwrurxryr{r|r}r)r'r*rjks rtest_arrays_replicated_3dz(TestStructures.test_arrays_replicated_3ds8 DIIi)JK! #  $$))RZZ78 $$))RZZ78 $$))RZZ78 $$))RZZ78 Q\\^^))95Q\\^^))95Q\\^^))95Q\\^^))95q CA1X Cq CA*1<<>>!Q'+B+-88IRXX+NP*1<<>>!Q'+B+-884D:<**,FG+1<<>>!Q'+B+-88R\\$5G57\\$5G5I,JK+1<<>>!Q'+B+-884R:@,BC C C Crcnttjtdd}t |j j tjdgtjt |j jtjdgtjt |j jtjdgtjt |j jtjdgtjy)Nzstruct_inherit.savFr3rrxrq) rrr$r%rfcxrrr"yrrr5s rtest_inheritancezTestStructures.test_inheritances DIIi)=> N1#RXX!>?1#RXX!>?1#RXX!>?1#RXX!>?rcHt5}|jtdtt j t dd}dddtjjdtjddgtjy#1swYRxYw) Nz.Not able to verify number of bytes from headerzstruct_arrays_byte_idl80.savFr3r7Brx) rfilter UserWarningrrr$r%rrrrrr&)r'supr*s rtest_arrays_corrupt_idl80z(TestStructures.test_arrays_corrupt_idl80sv  'C JJ{$T U ),JK %'A ' q288RG288#DE  ' 's ?rc ttjtdd}t |j j dttj|j tjdk(ttjt|j t|j dk(y)Nzarray_float32_pointer_2d.savFr3rrz)rr) rrr$r%rrrrrrrArr#r5s rrzTestPointerArray.test_2d=s{ DIIi)GHRW XQYY__h/qyyBJJrN234wqyy)R #-??@Arc ttjtdd}t |j j dttj|j tjdk(ttjt|j t|j dk(y)Nzarray_float32_pointer_3d.savFr3rrzrrr) rrr$r%rrrrrrrArr#r5s rrzTestPointerArray.test_3dCs| DIIi)GHRW XQYY__l3qyyBJJrN234wqyy)R %0@-AABCrc ttjtdd}t |j j dttj|j tjdk(ttjt|j t|j dk(y)Nzarray_float32_pointer_4d.savFr3rrz)rrrr) rrr$r%rrrrrrrArr#r5s rrzTestPointerArray.test_4dIs| DIIi)GHRW XQYY__l3qyyBJJrN234wqyy)R '0B-CCDErc ttjtdd}t |j j dttj|j tjdk(ttjt|j t|j dk(y)Nzarray_float32_pointer_5d.savFr3rprz)rrrrr) rrr$r%rrrrrrrArr#r5s rrzTestPointerArray.test_5dOs| DIIi)GHRW XQYY__o6qyyBJJrN234wqyy)R )0D-EEFGrc ttjtdd}t |j j dttj|j tjdk(ttjt|j t|j dk(y)Nzarray_float32_pointer_6d.savFr3rrz)rrrrrr) rrr$r%rrrrrrrArr#r5s rrzTestPointerArray.test_6dUs} DIIi)GHRW XQYY__&89qyyBJJrN234wqyy)R +0F-GGHIrc ttjtdd}t |j j dttj|j tjdk(ttjt|j t|j dk(y)Nzarray_float32_pointer_7d.savFr3rrz)rrrrrrr) rrr$r%rrrrrrrArr#r5s rrzTestPointerArray.test_7d[s} DIIi)GHRW XQYY__&;<qyyBJJrN234wqyy)R -0H-IIJKrc ttjtdd}t |j j dttj|j tjdk(ttjt|j t|j dk(y)Nzarray_float32_pointer_8d.savFr3rrz)rrrrrrrr) rrr$r%rrrrrrrArr#r5s rrzTestPointerArray.test_8das} DIIi)GHRW XQYY__&>?qyyBJJrN234wqyy)R /0J-KKLMrNrr/rrrr4s2@ B D F H J L Nrrc0eZdZdZdZdZdZdZdZy)TestPointerStructurescBttjtdd}t |j j tjtjdtjt |j jtjtjdtjtt|j j dt|j jdk(y)Nzstruct_pointers.savFr3rzrxr)rrr$r%rpointersgrrrArhrr#r5s rrz"TestPointerStructures.test_scalarsks DIIi)>? Orxx 2bjj'QRrxx 2bjj'QR1::<<?#r!**,,q/'::;rcttjtdd}t |j j tjtjddjtjt |j jtjtjddjtjttjt|j j t|j jk(y)Nzstruct_pointers_replicated.savFr3rzrt)rrr$r%r pointers_reprrrrArrrrrrr5s rtest_pointers_replicatedz.TestPointerStructures.test_pointers_replicatedqs DIIi)IJ! #))2::b>15<15<>!#4#%99RZZ^Q#?#F#Frzz#R T "1<<>>!#4#%99RZZ^Q#?#F#Frzz#R T BFF71<<>>!#45ALLNN1>!#45ALLNN1>!Q'+BIIbjjna8?? KM*1<<>>!Q'+BIIbjjna8?? KM 1a!89BALLNN73A67B66"(+++ 1a!89BALLNN73A67B66"(+++ , , ,rN) r,r-r.rrrrrrr/rrrrhs#< PP>T*,rrceZdZdZdZy)TestTagsz4Test that sav files with description tag read at allcttjtdd}t |j t jdy)Nzscalar_byte_descr.savFr3r!r4r5s rtest_descriptionzTestTags.test_descriptions0 DIIi)@A5 Q .rN)r,r-r.__doc__r r/rrr r s >/rr cttjtdd}t |j dt |j tjdy)Nznull_pointer.savFr3rt) rrr$r%rpointcheckrr")r*s rtest_null_pointerrs> )%78%HAQWWd#QWWbhhqk*rctjd5}tjdtt j t dd}dddttdk(tt|djd k(td tjddgy#1swYixYw) NT)recordalwayszinvalid_pointer.savFr3rvrzNVariable referenced by pointer not found in heap: variable will be set to Noner)warningscatch_warnings simplefilterrrr$r%rlenr messagerrr)wr*s rtest_invalid_pointerrs   -Ph' DIIi)>? OP CFaK C! #G HIQsVRXXtTl34 PPs ;B::CcFtjddi}|ddk(sJ|jdk(sJtjt 5|ddddtjt d5|jdddy#1swY:xYw#1swYyxYw)Nonervtwozhas no attribute)match)r AttrDictrrraisesKeyErrorAttributeErrorr)rs r test_attrdictr#s uaj!A U8q== 55A:: x  % ~-? @ s B 5 B BB )%osrrnumpyr numpy.testingrrrrrscipy.iorr r$dirname__file__r%rr vectorizer#rrr1rnrrrrrr rrrrr#r/rrr+s77  DIIldll8,f 5 I- ",,r  2 2>B>BBQ[Q*!@!@HxFxFv 2 2 1N1NhR,R,f//+55"r