a ze@sjdZddlZddlmZddlZddlZddlmZGdddeZ Gdddej Z e d krfe dS) z[Unit tests for the PickleBuffer object. Pickling tests themselves are in pickletester.py. N) PickleBuffer)supportc@s eZdZdS)BN)__name__ __module__ __qualname__rrJ/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_picklebuffer.pyrsrc@sleZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZdS)PickleBufferTestc Cst|}t|}||j|j||j|j||j|j||j|j||j|j||j|j||j|j||j |j || | Wdn1s0YWdn1s0YdSN) memoryview assertEqualnbytesreadonlyitemsizeshapestrides c_contiguous f_contiguousformattobytes)selfpbequivmZexpectedrrr check_memoryviews  z!PickleBufferTest.check_memoryviewcCs|ttWdn1s&0Y|ttdWdn1sX0Ytd}||tt|Wdn1s0YdS)NZfoofoo) assertRaises TypeErrorrr release ValueError)rrrrr test_constructor_failure!s $ & z)PickleBufferTest.test_constructor_failurecCstd}|dt|t|}||jWdn1sB0Yttd}|dt|t|$}||jd|d<Wdn1s0Y|dt|dS)Nr0rs0oo)rr bytesr assertTruer bytearray assertFalse)rrrrrr test_basics,s *   &zPickleBufferTest.test_basicscCs`td}||t}t|Wdn1s80Y|dt|j|dS)Nrz3operation forbidden on released PickleBuffer object)rrrr r ZassertInstr exceptionrrZraisesrrr test_release9s &zPickleBufferTest.test_releasecCs<td}t|}||_t|}~~t||dSNr)rrcycleweakrefrefgcZcollectZ assertIsNone)rbrZwpbrrr test_cycleCs zPickleBufferTest.test_cyclecCstdj}|ttdddd}||j||jt |}| |||ddd}||j||jt |}| |||ttddddd }||j||jt |}| ||dS) N _testbuffer 0YdSr )rrawZassertIsInstancer r)robjrrrrrr check_rawcs  zPickleBufferTest.check_rawc CsNdtdfD]<}|j|d|||Wdq 1s>0Yq dS)Nr)rC)r%ZsubTestrD)rrCrrr test_rawiszPickleBufferTest.test_rawcCstdj}|ttdddd}d}||||ttdddd}d }||||ttddd dd }d }||||d d dd}d}|||dS)Nr3r7)r7zr?rD)rr=r@rrrr test_raw_ndarrayns    z!PickleBufferTest.test_raw_ndarraycCs@t|}|td|Wdn1s20YdS)Nznon-contiguous)rZassertRaisesRegex BufferErrorrB)rrCrrrr check_raw_non_contiguoussz)PickleBufferTest.check_raw_non_contiguouscCsdtdj}|ttddddddd}|||ttddddddd}||dS) Nr3rF)rFr8r9r:r4r5)rr<r=r>r?rI)rr=r@rrr test_raw_non_contiguouss     z(PickleBufferTest.test_raw_non_contiguouscCsFtd}||t}|Wdn1s80YdSr,)rrrr rBr*rrr test_raw_releaseds z"PickleBufferTest.test_raw_releasedN)rrrrr!r'r+r2rArDrErGrIrJrKrrrr r s      r __main__)__doc__r0picklerr.Zunittesttestrr#rZTestCaser rmainrrrr s