+ gˆÖj6 ãóÒ€Rt^RIHt^RIt^RIt^RIHt^RIHtH t H t H t !RR]P4t !RR]P4t]R 8Xd]P !4R#R#) z'Unit tests for probe identity teach-in.)Ú annotationsN)ÚPath)ÚProbeMapÚevaluate_identityÚload_probe_mapÚsave_probe_mapcó"€]tRt^tRRltRtR#)ÚTestProbeMapPersistencecó€V^8„dQhRR/#©éÚreturnÚNone©)Úformats"ÚX/home/coaltown/Nextcloud/documents/wiki/projects/hot-tub/src/temp/tests/test_identity.pyÚ __annotate__Ú$TestProbeMapPersistence.__annotate__s€÷AñA¨$ñAóc ó�€\P!4;_uu_4p\V4R, p\R.ROR7p\ W#4\ V4pVP VPR4VP \VP4\VP44RRR4R# +'giR#;i)z probes.jsonú28-h©Úhot_inÚtubN)z28-az28-bz28-cz28-d) ÚtempfileÚTemporaryDirectoryrrrrÚ assertEqualrÚsortedr)ÚselfÚtmpÚpathÚpmÚloadeds& rÚtest_save_load_roundtripÚ0TestProbeMapPersistence.test_save_load_roundtrips„€Ü × (Ò (× *Ô *¨cܘ“9˜}Õ,ˆDÜ Ò-MÔNˆBÜ ˜4Ô $Ü# DÓ)ˆFØ × Ñ ˜VŸ]™]¨FÔ 3Ø × Ñ œV F§J¡JÓ/´¸¿¹³Ô @÷ +× *× *Ò *ús žB B4Â4 C rN)Ú__name__Ú __module__Ú __qualname__Ú__firstlineno__r#Ú__static_attributes__rrrr r s†÷AñArr cój€]tRt^tRRltRRltRRltRRltR R ltR R lt R Rlt Rt R#)ÚTestEvaluateIdentitycó€V^8„dQhRR/#r r)rs"rrÚ!TestEvaluateIdentity.__annotate__s€÷6ñ6¨dñ6rc óî€\R.\4RR7pVPVP4VP VP P R4VP VPR4R#)ú28-hotT©Ú setup_modeÚ need_waterN)rrÚ assertTrueÚ map_changedrÚ probe_maprÚ setup_state)rÚrs& rÚtest_one_probe_learns_hot_inÚ1TestEvaluateIdentity.test_one_probe_learns_hot_insR€Ü ˜x˜j¬(«*ÀÔ FˆØ �‰˜Ÿ ™ Ô&Ø ×јŸ™×+Ñ+¨XÔ6Ø ×јŸ™¨ Ö5rcó€V^8„dQhRR/#r r)rs"rrr-#s€÷7ñ7¸Dñ7rc óT€\^4Uu.uFpRV 2NK pp\V\4RR7pVPVP4VP \ VPP4\ V44VP VPR4R#uupi)éú28-tTr0Ú need_hot_inN) Úrangerrr3r4rrr5rr6©rÚiÚidsr7s& rÚ*test_four_alone_learns_tub_with_setup_modeÚ?TestEvaluateIdentity.test_four_alone_learns_tub_with_setup_mode#sz€Ü#(¨¤8Ó,¡8˜a��a�S‹z¡8ˆÐ,Ü ˜c¤8£:¸$Ô ?ˆØ �‰˜Ÿ ™ Ô&Ø ×Ñœ § ¡ §¡Ó0´&¸³+Ô>Ø ×јŸ™¨ Ö6ùò -sŽB%có€V^8„dQhRR/#r r)rs"rrr-*s€÷:ñ:°Dñ:rc óä€\^4Uu.uFpRV 2NK pp\V\4RR7pVPVP4VP VP R4R#uupi)éz28-xTr0Úneed_reinstallN)r?rrÚ assertFalser4rr6r@s& rÚ"test_five_empty_map_need_reinstallÚ7TestEvaluateIdentity.test_five_empty_map_need_reinstall*s\€Ü#(¨¤8Ó,¡8˜a��a�S‹z¡8ˆÐ,Ü ˜c¤8£:¸$Ô ?ˆØ ×јŸ™Ô'Ø ×јŸ™Ð(8Ö9ùò-sŽA-có€V^8„dQhRR/#r r)rs"rrr-0ó€÷1ñ1°Tñ1rc óh€Rp\^4Uu.uFpRV 2NK pp\V.R7p\V.VOVRR7pVPVP4VP \ VPP4\ V44VP VPR4R#uupi)r/r=rFr0ÚreadyN) r?rrr3r4rrr5rr6©rÚhotrAÚtubsr!r7s& rÚ#test_five_derive_tub_when_hot_knownÚ8TestEvaluateIdentity.test_five_derive_tub_when_hot_known0s�€ØˆÜ$)¨!¤HÓ-¡H˜q�$�q�c“ ¡HˆÐ-Ü ˜S bÔ )ˆÜ ˜s˜l T˜l¨B¸5Ô AˆØ �‰˜Ÿ ™ Ô&Ø ×Ñœ § ¡ §¡Ó0´&¸³,Ô?Ø ×јŸ™¨Ö0ùò .s�B/có€V^8„dQhRR/#r r)rs"rrr-9rMrc óD€Rp\^4Uu.uFpRV 2NK pp\RVR7p\V.VOVRR7pVPVP4VP VP PV4VP VPR4R#uupi)r/r=NrFr0rO) r?rrr3r4rr5rr6rPs& rÚ#test_five_derive_hot_when_tub_knownÚ8TestEvaluateIdentity.test_five_derive_hot_when_tub_known9sˆ€ØˆÜ$)¨!¤HÓ-¡H˜q�$�q�c“ ¡HˆÐ-Ü ˜T tÔ ,ˆÜ ˜s˜l T˜l¨B¸5Ô AˆØ �‰˜Ÿ ™ Ô&Ø ×јŸ™×+Ñ+¨SÔ1Ø ×јŸ™¨Ö0ùò .s�Bcó€V^8„dQhRR/#r r)rs"rrr-Bs€÷.ñ.À4ñ.rc óÊ€Rp\V.R7p\VRRR.VRR7pVPVP4VP VP P .4R#)r/rz28-t1z28-t2z28-t3Tr0N)rrrIr4rr5r)rrQr!r7s& rÚ1test_four_mixed_does_not_mislearn_when_hot_on_busÚFTestEvaluateIdentity.test_four_mixed_does_not_mislearn_when_hot_on_busBsT€ØˆÜ ˜S bÔ )ˆä ˜s G¨W°gÐ>ÀÈtÔ TˆØ ×јŸ™Ô'Ø ×јŸ™Ÿ™¨"Ö-rcó€V^8„dQhRR/#r r)rs"rrr-Js€÷1ñ1Àñ1rc óî€\R\^4Uu.uFpRV 2NK upR7p\R.VRR7pVPVP4VP VP R4R#uupi)rr=rFr0rON)rr?rrIr4rr6)rrAr!r7s& rÚ.test_complete_map_no_overwrite_on_single_probeÚCTestEvaluateIdentity.test_complete_map_no_overwrite_on_single_probeJsc€Ü ˜V¼eÀA¼hÓ)G¹h¸¨D°°«*¹hÑ)GÔ HˆÜ ˜v˜h¨°uÔ =ˆØ ×јŸ™Ô'Ø ×јŸ™¨Ö0ùò*Hs”A2 rN) r%r&r'r(r8rCrJrSrWr[r_r)rrrr+r+s*†õ6õ 7õ:õ 1õ1õ.÷1ñ1rr+Ú__main__)Ú__doc__Ú __future__rrÚunittestÚpathlibrÚ temp.identityrrrrÚTestCaser r+r%ÚmainrrrÚris]ðÙ-å"ãÛÝ÷óôA˜h×/Ñ/ôAô21˜8×,Ñ,ô21ðj ˆzÔØ ‡M‚M†Oñr