a ze|@s>ddlZddlZddlZGdddejZedkr:edS)Nc@sleZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZdS) StructSeqTestcCsDt}||tt|}|t|t||||tt| t|D]V}|||d||dtt| t|D] }|||||||qqPtt| t|D] }||d||d|q|t|j t| d|t|j t|tt| t|dD]}|||||q$dS)N) timegmtimeZassertIsInstancetuple assertEquallenrange assertRaises IndexError __getitem__)selftZastupleijrG/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_structseq.py test_tuples   zStructSeqTest.test_tuplecCszt}|t|td}|t|dtt}t|}||d| d|| d|| d|dS)Nrzttime.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)zos.stat_resultzst_mode=zst_ino=zst_dev=) rr assertTruereprrosstat__file__ startswithassertIn)r rstZreprrr test_reprs     zStructSeqTest.test_reprcCsFt}|t|}tt|D] }|||||t|q dSN)rrrr rrr t1t2rrrr test_concat-s zStructSeqTest.test_concatc Csbt}d|}tt|D]@}|||||t||||||dt|qdS)N)rrr rrrrrr test_repeat3s zStructSeqTest.test_repeatcCs.t}|D]}|||q |d|dS)Ni)rrrZ assertNotIn)r ritemrrr test_contains:szStructSeqTest.test_containscCs$t}|t|tt|dSr)rrrhashr)r rrrr test_hash@szStructSeqTest.test_hashcCspt}t||}||||||k |||k|||k |||k|||k dSr)rrtyperr)r rr rrrtest_cmpDs  zStructSeqTest.test_cmpcCs<t}|t||j||jd||jtjdS)Nr)rrrrn_sequence_fieldsn_unnamed_fieldsn_fields_STRUCT_TM_ITEMS)r rrrr test_fieldsNszStructSeqTest.test_fieldscCsptj}|t||t|d|t|d|jt|did|jt|dddd}|d|||dS)NZ123)dictZ 123456789)r struct_timer TypeErrorrjoin)r rsrrrtest_constructorTs zStructSeqTest.test_constructorcs8GdddtGfddd}|tj|dS)Nc@s eZdZdS)z)StructSeqTest.test_eviltuple..ExcN)__name__ __module__ __qualname__rrrrExcasr:cs eZdZfddZddZdS)z'StructSeqTest.test_eviltuple..CcsdSrr)r rr:rrr fsz3StructSeqTest.test_eviltuple..C.__getitem__cSsdS)N r)r rrr__len__hsz/StructSeqTest.test_eviltuple..C.__len__N)r7r8r9r r=rr;rrCes r>) Exceptionr rr2)r r>rr;rtest_eviltuple`szStructSeqTest.test_eviltuplecCst}|}dSr)rr __reduce__)r rxrrr test_reducemszStructSeqTest.test_reducec Csbt}t|}d}|D]D}|D]:}|ddD](}|t||||||||q0q qdS)N) rNrr"i,iir)rrlistr)r rLindicesstartstopsteprrrtest_extended_getsliceqs z$StructSeqTest.test_extended_getsliceN)r7r8r9rrr!r$r&r(r*r/r6r@rCrMrrrrrs   r__main__)rrZunittestZTestCaserr7mainrrrrs w