ó
    ð›‘h|Z  ã                   óè   • S SK r S SKrS SKrS SKrS SKJr  S SKJr  S SKJr  S SKJr  S r	S r
SS jr " S	 S
\R                  5      r " S S\R                  5      r " S S\R                  5      rg)é    N)ÚDecimal)Úmessage)Úrole)Ú
serializerc                  óÈ  • [         R                  " S5      n SnSnSnSSSSXS	SXS
./nS	SXUS.n/ [        R                  " SS[        R
                  " 5       05      P[        R                  " SS[        R                  " 5       05      P[        R                  " SS[        R                  " 5       05      P[        R                  " SS[        R                  " 5       05      P[        R                  " S[        R
                  " 5       [        R                  " 5       [        R                  " 5       [        R                  " 5       S.5      P[        R                  " 5       P[        R                  " S5      P[        R                  " SUS9P[        R                  " S/ US9P[        R                  " SXES9P[        R                  " SSS9P[        R                  " S5      P[        R                  " S[        R                  R                  S9P[        R                  " SS5      P[        R                  " SSUS9P[        R                  " SS/ US9P[        R                  " SSXES9P[        R                  " SSSS9P[        R                  " S5      P[        R                  " SUS9P[        R                  " S/ US9P[        R                  " SXES9P[        R                  " SSS9P[        R                  " S5      P[        R                  " S[        R                  R                  S9P[        R                   " SU5      P[        R                   " SX$S9P[        R                   " SU/ US9P[        R                   " SX$US9P[        R                   " SUSS9P[        R                   " SU5      P[        R                   " SX4S9P[        R                   " SU/ US9P[        R                   " SX4US9P[        R                   " SUSS9P[        R"                  " S5      P[        R$                  " SS5      P[        R&                  " SS5      P[        R(                  " SU5      P[        R(                  " SUSS9P[        R(                  " SUSS9P[        R(                  " SU5      P[        R(                  " SUSS9P[        R(                  " SUSS9P[        R*                  " SS5      P[        R*                  " SSUS9P[        R*                  " SS/ US9P[        R*                  " SSXES9P[        R*                  " SSSS 9P[        R,                  " SS5      P[        R.                  " SU5      P[        R.                  " SX$S9P[        R.                  " SU/ US9P[        R.                  " SX$US9P[        R.                  " SUS!S// S"QS#9P[        R.                  " SU5      P[        R.                  " SX4S9P[        R.                  " SU/ US9P[        R.                  " SX4US9P[        R.                  " SUS!S// S"QS#9P[        R0                  " S5      P[        R2                  " SS5      P[        R4                  " SS5      P[        R6                  " SU5      P[        R6                  " SU[        R6                  R8                  S9P[        R6                  " SU5      P[        R6                  " SU[        R6                  R8                  S9P[        R:                  " [        R                   R<                  SU5      P[        R:                  " [        R                   R<                  SX$S9P[        R:                  " [        R                   R<                  SU/ US9P[        R:                  " [        R                   R<                  SX$US9P[        R:                  " [        R                   R<                  SU5      P[        R:                  " [        R                   R<                  SX4S9P[        R:                  " [        R                   R<                  SU/ US9P[        R:                  " [        R                   R<                  SX4US9P[        R                  " S5      P[        R                  " SUS9P[        R                  " SXES9PnU Vs/ s H  nS!U4PM	     sn$ s  snf )$z§
List of WAMP test message used for serializers. Expand this if you add more
options or messages.

This list of WAMP message does not contain any binary app payloads!
é    u   ã�“ã‚“ã�«ã�¡ã�¯ä¸–ç•Œzcom.myapp.foobaru   com.myapp.ä½ å¥½ä¸–ç•Œ.bazé   é   é   Úhelloé   )ÚfooÚbarÚbazÚmoo)r   r   r   r   ÚarrÚrealm1Ú
subscriberÚ	publisherÚcallerÚcallee)r   r   r   r   é@â ©Úargs©r   ÚkwargsT)Úprogress)Úmodeéƒ
 i'  )ÚtimeoutÚprefix)ÚmatchÚ
roundrobin)Úinvokeé,  )r   F)éd   éÈ   r%   )Ú
exclude_meÚexcludeÚeligible)ÚosÚurandomr   ÚHellor   ÚRoleSubscriberFeaturesÚRolePublisherFeaturesÚRoleCallerFeaturesÚRoleCalleeFeaturesÚGoodbyeÚYieldÚ	InterruptÚKILLÚ
InvocationÚResultÚCancelÚCallÚUnregisteredÚ
UnregisterÚ
RegisteredÚRegisterÚEventÚ	PublishedÚPublishÚUnsubscribedÚUnsubscribeÚ
SubscribedÚ	SubscribeÚMATCH_PREFIXÚErrorÚMESSAGE_TYPE)Ú
some_bytesÚsome_unicodeÚsome_uriÚsome_unicode_uriÚ	some_argsÚsome_kwargsÚmsgsÚmsgs           ÚkC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\autobahn/wamp/test/test_wamp_serializer.pyÚgenerate_test_messagesrQ   &   s	  € ô —’˜B“€JØ?€Là!€HØ?Ðà�A�q˜' :ÀRÐPWÐ`jñ  >Að  B€IØ W°ZÐ]fÑg€KðTÜ�Š�h ¬t×/JÒ/JÓ/LÐ MÓNðTä�Š�h ¬d×.HÒ.HÓ.JÐ KÓLðTô 	�Š�h ¬4×+BÒ+BÓ+DÐ EÓFðTô 	�Š�h ¬4×+BÒ+BÓ+DÐ EÓFð	Tô
 	�Š�hÜ×5Ò5Ó7Ü×3Ò3Ó5Ü×-Ò-Ó/Ü×-Ò-Ó/ñ	!
ó 	ðTô 	�ŠÓðTô 	�Š�fÓðTô 	�Š�f 9Ñ-ðTô 	�Š�f 2¨kÑ:ðTô 	�Š�f 9ÑAðTô  	�Š�f tÑ,ð!Tô" 	×Ò˜&Ó!ð#Tô$ 	×Ò˜&¤w×'8Ñ'8×'=Ñ'=Ñ>ð%Tô& 	×Ò˜6 6Ó*ð'Tô( 	×Ò˜6 6°	Ñ:ð)Tô* 	×Ò˜6 6°¸;ÑGð+Tô, 	×Ò˜6 6°	ÑNð-Tô. 	×Ò˜6 6°5Ñ9ð/Tô0 	�Š�vÓð1Tô2 	�Š�v IÑ.ð3Tô4 	�Š�v B¨{Ñ;ð5Tô6 	�Š�v IÑBð7Tô8 	�Š�v¨Ñ-ð9Tô: 	�Š�vÓð;Tô< 	�Š�v¤G§N¡N×$7Ñ$7Ñ8ð=Tô> 	�Š�V˜XÓ&ð?Tô@ 	�Š�V˜XÑ6ðATôB 	�Š�V˜X¨B°{ÑCðCTôD 	�Š�V˜X¸kÑJðETôF 	�Š�V˜X¨uÑ5ðGTôH 	�Š�VÐ-Ó.ðITôJ 	�Š�VÐ-Ñ>ðKTôL 	�Š�VÐ-°B¸{ÑKðMTôN 	�Š�VÐ-ÀkÑRðOTôP 	�Š�VÐ-°uÑ=ðQTôR 	×Ò˜VÓ$ðSTôT 	×Ò˜6 6Ó*ðUTôV 	×Ò˜6 6Ó*ðWTôX 	×Ò˜ Ó*ðYTôZ 	×Ò˜ °Ñ:ð[Tô\ 	×Ò˜ °,Ñ?ð]Tô^ 	×Ò˜Ð!1Ó2ð_Tô` 	×Ò˜Ð!1¸ÑBðaTôb 	×Ò˜Ð!1¸,ÑGðcTôd 	�Š�f˜fÓ%ðeTôf 	�Š�f˜f¨9Ñ5ðgTôh 	�Š�f˜f¨2°kÑBðiTôj 	�Š�f˜f¨9ÑIðkTôl 	�Š�f˜f°Ñ4ðmTôn 	×Ò˜& &Ó)ðoTôp 	�Š˜ Ó)ðqTôr 	�Š˜ Ñ9ðsTôt 	�Š˜ ¨r¸+ÑFðuTôv 	�Š˜ ÀÑMðwTôx 	�Š˜ °UÀSÀEÒTcÑdðyTôz 	�Š˜Ð 0Ó1ð{Tô| 	�Š˜Ð 0ÑAð}Tô~ 	�Š˜Ð 0°rÀ+ÑNðTô@ 	�Š˜Ð 0ÈÑUðATôB 	�Š˜Ð 0¸UÈSÈEÒ\kÑlðCTôD 	×Ò˜VÓ$ðETôF 	×Ò˜F FÓ+ðGTôH 	×Ò˜6 6Ó*ðITôJ 	×Ò˜& (Ó+ðKTôL 	×Ò˜& (´'×2CÑ2C×2PÑ2PÑQðMTôN 	×Ò˜&Ð"2Ó3ðOTôP 	×Ò˜&Ð"2¼'×:KÑ:K×:XÑ:XÑYðQTôR 	�Š”g—l‘l×/Ñ/°¸ÓBðSTôT 	�Š”g—l‘l×/Ñ/°¸ÑRðUTôV 	�Š”g—l‘l×/Ñ/°¸ÈÐS^Ñ_ðWTôX 	�Š”g—l‘l×/Ñ/°¸ÐZeÑfðYTôZ 	�Š”g—l‘l×/Ñ/°Ð9IÓJð[Tô\ 	�Š”g—l‘l×/Ñ/°Ð9IÑZð]Tô^ 	�Š”g—l‘l×/Ñ/°Ð9IÐPRÐ[fÑgð_Tô` 	�Š”g—l‘l×/Ñ/°Ð9IÐbmÑnðaTôb 	�Š�vÓðcTôd 	�Š�v IÑ.ðeTôf 	�Š�v IÑBðgT€Dñj %)Ó)¢D˜SˆU�C‹L¡DÑ)Ð)ùÒ)s   ãcc                  óì  • / n SSS[         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " S5      [         R                  " S	5      4	 HR  nU R                  [        R                  " S
SU/S95        U R                  [        R                  " S
SU/SU0S95        MT     U  Vs/ s H  nSU4PM	     sn$ s  snf )a  
Generate WAMP test messages which contain binary app payloads.

With the JSON serializer, this currently only works on Python 3 (both CPython3 and PyPy3),
because even on Python 3, we need to patch the stdlib JSON, and on Python 2, the patching
would be even hackier.
ó    ó    ó   é   é   é€   é   i   i   r   r   r   r   r   T)r+   r,   Úappendr   r>   )rN   ÚbinaryrO   s      rP   Úgenerate_test_messages_binaryr\   Ž   s¾   € ð €DØØØÜ—:’:˜a“=Ü—:’:˜b“>Ü—:’:˜c“?Ü—:’:˜c“?Ü—:’:˜c“?Ü—:’:˜dÓ#ó%ˆð 	�‰”G—M’M &¨&¸°xÑ@ÔAØ�‰”G—M’M &¨&¸°xÈÐPVÈÑXÖYñ%ñ $(Ó(¢4˜CˆT�3‹K¡4Ñ(Ð(ùÒ(s   Ã C1c                 óP  • / nUR                  [        R                  " U S95        UR                  [        R                  " SU S95        UR                  [        R                  " 5       5        UR                  [        R                  " SS95        U (       dŽ  UR                  [        R                  " 5       5        UR                  [        R                  " SS95        UR                  [        R
                  " 5       5        UR                  [        R
                  " SS95        U$ )N©Úuse_decimal_from_strT)Úbatchedr_   )r`   )rZ   r   ÚJsonSerializerÚCBORSerializerÚMsgPackSerializerÚUBJSONSerializer)Údecimal_supportÚ_serializerss     rP   Úcreate_serializersrg   ¥   sÙ   € Ø€Là×Ñœ
×1Ò1ÀÑWÔXØ×Ñœ
×1Ò1¸$ÐUdÑeÔfà×Ñœ
×1Ò1Ó3Ô4Ø×Ñœ
×1Ò1¸$Ñ?Ô@æà×ÑœJ×8Ò8Ó:Ô;Ø×ÑœJ×8Ò8ÀÑFÔGð 	×ÑœJ×7Ò7Ó9Ô:Ø×ÑœJ×7Ò7ÀÑEÔFð ÐrS   c                   ó   • \ rS rSrS rSrg)ÚTestFlatBuffersSerializeré¿   c           	      ó&  • [         R                  " SS/ SQSSS.SSS	9[         R                  " SS
/ SQSSS.SS9/n[        R                  " 5       nU H;  nUR                  U5      u  pEUR                  XE5      S   nU R                  X65        M=     g )Nr   r   ©r	   r
   r   r   r   )r   r   iš  T)r   r   r   Úretainedzcom.example.topic1)r   r   Úretainr   )r   r>   r@   r   ÚFlatBuffersSerializerÚ	serializeÚunserializeÚassertEqual)ÚselfÚmessagesÚserrO   Úpayloadr[   Úmsg2s          rP   Ú
test_basicÚ$TestFlatBuffersSerializer.test_basicÁ   sŸ   € ä�MŠM˜&Ø Ú(Ø)+°GÑ!<Ø$'Ø#'ñ)ô �OŠO˜FØ0Ú!*Ø+-°gÑ#>Ø#'ñ	)ð
ˆô ×.Ò.Ó0ˆó ˆCð "Ÿm™m¨CÓ0‰OˆGð —?‘? 7Ó3°AÑ6ˆDð ×Ñ˜SÖ'ò rS   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rx   Ú__static_attributes__rz   rS   rP   ri   ri   ¿   s   † õ(rS   ri   c                   ó:   • \ rS rSrSrS
S jrS rS rS rS r	S	r
g)ÚTestDecimalSerializeréå   a‰  
binary fixed-point
binary floating-point:          float (float32), double (float64)
decimal floating-point:         decimal128, decimal256
decimal fixed-point:            NUMERIC(precision, scale)
decimal arbitrary precision:    NUMERIC, decimal.Decimal

https://developer.nvidia.com/blog/implementing-high-precision-decimal-arithmetic-with-cuda-int128/
https://github.com/johnmcfarlane/cnl
Nc                 ó¸  • [        SS9U l        S[        R                  " 5       l        S[
        R
                  " 5       [
        R                  " SS5      [
        R                  " SS5      [
        R                  " SSS-  5      [
        R                  " SSS	-  5      S
S[        R                  " S5      SSSSS S
S[        R                  " S5      /S.	4/U l	        S[
        R
                  " 5       [
        R                  " SS5      [
        R                  " SS5      [
        R                  " SSS-  5      [
        R                  " SSS	-  5      S
S[        S5      [        S5      [        S5      [        S5      [        R                  " S5      SSSSS S
S[        S5      [        S5      [        S5      [        S5      [        R                  " S5      /S.4/U l        g )NT)re   éL   r   l          l            r
   rX   rY   g^öF7Ýš¿?g6!Y¤ì?é   éÿÿÿÿr	   )	ÚaÚbÚcÚdÚeÚfÚgÚyÚzz'0.1234567890123456789012345678901234567z'0.8765432109876543210987654321098765434zM0.123456789012345678901234567890123456701234567890123456789012345678901234567zM0.876543210987654321098765432109876543298765432109876543210987654321098765434)r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   ÚhÚiÚjÚkrŽ   r�   )rg   Ú_test_serializersÚdecimalÚ
getcontextÚprecÚrandomÚrandintr+   r,   Ú_test_messages_no_decr   Ú_test_messages_dec©rs   s    rP   ÚsetUpÚTestDecimalSerializer.setUpð   sš  € Ü!3ÀDÑ!IˆÔð %'Œ×ÒÓÔ!ð ä—m’m“oÜ—n’n Q¨Ó0Ü—n’n Q¨Ó0Ü—n’n Q¨¨S©Ó1Ü—n’n Q¨¨S©Ó1à)Ø(Ü—j’j “màØØØØØ(Ø'Ü—Z’Z “]ð	ñðð&
ˆÔ"ð2 ä—m’m“oÜ—n’n Q¨Ó0Ü—n’n Q¨Ó0Ü—n’n Q¨¨S©Ó1Ü—n’n Q¨¨S©Ó1à)Ø(äÐGÓHÜÐGÓHäÐmÓnÜÐmÓnÜ—j’j “màØØØØØ(Ø'ÜÐFÓGÜÐFÓGÜÐlÓmÜÐlÓmÜ—Z’Z “]ðñ!ðð!#
ˆÕrS   c                 óô   • [         R                  " SS9nU R                   HT  u  p#UR                  UR	                  U5      5      S   nU R                  X45        U R                  SUS   US   -   5        MV     g)zJ
Test without ``use_decimal_from_str`` feature of JSON object serializer.
Fr^   r   ç     ð?rŒ   r�   N)r   ÚJsonObjectSerializerrš   rq   rp   rr   ©rs   ru   Úcontains_binaryÚobjÚ_objs        rP   Útest_json_no_decimalÚ*TestDecimalSerializer.test_json_no_decimal1  so   € ô ×-Ò-À5ÑIˆØ$(×$>Ô$>Ñ ˆOØ—?‘? 3§=¡=°Ó#5Ó6°qÑ9ˆDØ×Ñ˜SÔ'Ø×ÑÐ/°°c±¸TÀ#¹YÑ1FÖGò %?rS   c                 ó„  • [         R                  " SS9nU R                   Hœ  u  p#UR                  UR	                  U5      5      S   nU R                  X45        U R                  SUS   US   -   5        U R                  [        S5      US   US	   -   5        U R                  [        S
5      US   US   -   5        Mž     g)zB
Test ``use_decimal_from_str`` feature of JSON object serializer.
Tr^   r   r    rŒ   r�   z'1.0000000000000000000000000000000000001r�   r‘   zM1.000000000000000000000000000000000000000000000000000000000000000000000000001r’   r“   N)r   r¡   r›   rq   rp   rr   r   r¢   s        rP   Útest_json_decimalÚ'TestDecimalSerializer.test_json_decimal;  sØ   € ô ×-Ò-À4ÑHˆØ$(×$;Ô$;Ñ ˆOØ—?‘? 3§=¡=°Ó#5Ó6°qÑ9ˆDØ×Ñ˜SÔ'Ø×ÑÐ/°°c±¸TÀ#¹YÑ1FÔGØ×ÑœWÐ%NÓOÐQUÐVYÑQZÐ]aÐbeÑ]fÑQfÔgØ×ÑœWÐ%tÓuÐw{Ð|ñ  xAð  DHð  ILñ  DMñ  xMö  Nò %<rS   c                 óò   • U R                    Hg  nUR                  nU R                  U R                  -    H;  u  p4UR	                  U5      nUR                  U5      nU R                  XFS   5        M=     Mi     g ©Nr   ©r”   Ú_serializerrš   r›   rp   rq   rr   )rs   Úwamp_serru   r£   rO   rv   rw   s          rP   Útest_roundtrip_msgÚ(TestDecimalSerializer.test_roundtrip_msgG  sj   € Ø×.Ô.ˆHØ×&Ñ&ˆCØ(,×(BÑ(BÀT×E\ÑE\Ô(\Ñ$�ØŸ-™-¨Ó,�Ø—‘ wÓ/�Ø× Ñ  ¨1¡gÖ.ó )]ò /rS   c                 ó‚  • U R                    H¯  nUR                  nU R                  U R                  -    Hƒ  u  p4UR	                  U5      nUR                  U5      nUS   nU R                    HG  nUR                  nUR	                  U5      n	UR                  U	5      n
U
S   n
U R                  XJ5        MI     M…     M±     g r¬   r­   )rs   Ú	wamp_ser1Úser1r£   rO   Úpayload1Úmsg1Ú	wamp_ser2Úser2Úpayload2rw   s              rP   Útest_crosstrip_msgÚ(TestDecimalSerializer.test_crosstrip_msgO  s³   € Ø×/Ô/ˆIØ×(Ñ(ˆDØ(,×(BÑ(BÀT×E\ÑE\Ô(\Ñ$�ØŸ>™>¨#Ó.�Ø×'Ñ'¨Ó1�Ø˜A‘w�Ø!%×!7Ô!7�IØ$×0Ñ0�DØ#Ÿ~™~¨dÓ3�HØ×+Ñ+¨HÓ5�DØ ™7�DØ×$Ñ$ SÖ/ó "8ó	 )]ò 0rS   )r›   rš   r”   )ÚreturnN)r{   r|   r}   r~   Ú__doc__r�   r¦   r©   r°   rº   r   rz   rS   rP   r�   r�   å   s#   † ñ	ô?
òBHò
Nò/õ0rS   r�   c                   óP   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)ÚTestSerializeri_  c                 óV   • [        5       [        5       -   U l        [        5       U l        g )N)rQ   r\   Ú_test_messagesrg   r”   rœ   s    rP   r�   ÚTestSerializer.setUpa  s!   € Ü4Ó6Ô9VÓ9XÑXˆÔÜ!3Ó!5ˆÕrS   c                 ó–   • [         R                  " S5      nSSSU/ SQS/ SQ0S.U/nSSS/ SQ0U/ SQSS	.U/nU R                  X#5        g
)z;
Test deep object equality assert (because I am paranoid).
é
   r	   r
   r   )é	   r   r
   r   rl   )r   r   r   Úgoo)rÆ   r   r   r   N)r+   r,   rr   )rs   ÚvÚo1Úo2s       rP   Útest_deep_equal_msgÚ"TestSerializer.test_deep_equal_msgf  sZ   € ô �JŠJ�r‹NˆØ�˜E¨!²IÀuÊiÐFXÑYÐ[\Ð]ˆØ�˜U¢IÐ.°qÂÐSXÑYÐ[\Ð]ˆØ×Ñ˜Õ rS   c                 óÂ   • U R                    HO  nU R                   H<  u  p#UR                  U5      u  pEUR                  XE5      nU R	                  U/U5        M>     MQ     g)z+
Test round-tripping over each serializer.
N©r”   rÁ   rp   rq   rr   )rs   ru   r£   rO   rv   r[   rw   s          rP   r°   Ú!TestSerializer.test_roundtrip_msgo  s]   € ð ×)Ô)ˆCà(,×(;Ô(;Ñ$�ð #&§-¡-°Ó"4‘�ð —‘ wÓ7�ð × Ñ  # ¨Ö-ó )<ò *rS   c                 ó:  • U R                    H‹  nU R                   Hx  u  p#UR                  U5      u  pEUR                  XE5      nUS   nU R                    H:  nUR                  U5      u  pEUR                  XE5      nU R	                  U/U5        M<     Mz     M�     g)zF
Test cross-tripping over 2 serializers (as is done by WAMP routers).
r   NrÍ   )	rs   r´   r£   rO   rv   r[   r¶   r¸   rw   s	            rP   rº   Ú!TestSerializer.test_crosstrip_msg€  sœ   € ð ×*Ô*ˆDà(,×(;Ô(;Ñ$�ð #'§.¡.°Ó"5‘�ð ×'Ñ'¨Ó8�Ø˜A‘w�à ×2Ô2�Dð '+§n¡n°TÓ&:‘O�Gð  ×+Ñ+¨GÓ<�Dð ×$Ñ$ c U¨DÖ1ó 3ó )<ò +rS   c                 ó  • U R                    Hø  u  pU R                  UR                  0 5        U R                   HÇ  nU R	                  UR
                  UR                  ;   5        UR                  U5      u  pEU R                  UR
                  UR                  ;   5        U R                  UR                  UR
                     U5        UR                  5         U R	                  UR
                  UR                  ;   5        MÉ     Mú     g)z%
Test message serialization caching.
N)	rÁ   rr   Ú_serializedr”   ÚassertFalser®   rp   Ú
assertTrueÚuncache)rs   r£   rO   ru   rv   r[   s         rP   Útest_cache_msgÚTestSerializer.test_cache_msg›  sÈ   € ð %)×$7Ô$7Ñ ˆOð ×Ñ˜SŸ_™_¨bÔ1à×-Ô-�ð × Ñ  §¡°C·O±OÑ!CÔDØ"%§-¡-°Ó"4‘�ð —‘ §¡°3·?±?Ñ BÔCØ× Ñ  §¡°·±Ñ!AÀ7ÔKð —‘”Ø× Ñ  §¡°C·O±OÑ!CÖDó .ò %8rS   c                 óh  • U R                    H¢  nUR                  SS9nU R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        M¤     g	)
z1
Test initial serializer stats are indeed empty.
T©ÚdetailsÚ
serializedÚbytesr   rt   Úrated_messagesÚunserializedN)r”   Ústatsrr   )rs   ru   rß   s      rP   Útest_initial_statsÚ!TestSerializer.test_initial_stats³  sÂ   € ð ×)Ô)ˆCà—I‘I d�IÐ+ˆEà×Ñ˜U <Ñ0°Ñ9¸1Ô=Ø×Ñ˜U <Ñ0°Ñ<¸aÔ@Ø×Ñ˜U <Ñ0Ð1AÑBÀAÔFà×Ñ˜U >Ñ2°7Ñ;¸QÔ?Ø×Ñ˜U >Ñ2°:Ñ>ÀÔBØ×Ñ˜U >Ñ2Ð3CÑDÀaÖHò *rS   c                 óD  • U R                    H�  nU R                   H)  u  p#UR                  U5      u  pEUR                  XE5        M+     UR	                  SS9nU R                  US   S:„  5        U R                  US   S:„  5        U R                  US   S:„  5        M’     g)úO
Test serializer stats are non-empty after serializing/unserializing messages.
FrÙ   rÜ   r   rt   rÝ   N)r”   rÁ   rp   rq   rß   rÔ   ©rs   ru   r£   rO   rv   r[   rß   s          rP   Útest_serialize_statsÚ#TestSerializer.test_serialize_statsÃ  s›   € ð ×)Ô)ˆCà(,×(;Ô(;Ñ$�ð #&§-¡-°Ó"4‘�ð —‘ Ö0ñ )<ð —I‘I e�IÐ,ˆEà�O‰O˜E '™N¨QÑ.Ô/Ø�O‰O˜E *Ñ-°Ñ1Ô2Ø�O‰O˜EÐ"2Ñ3°aÑ7Ö8ò *rS   c                 óª  • U R                    GHB  nU R                   H)  u  p#UR                  U5      u  pEUR                  XE5        M+     UR	                  SS9nU R                  US   S   S:„  5        U R                  US   S   S:„  5        U R                  US   S   S:„  5        U R                  US   S   S:„  5        U R                  US   S   S:„  5        U R                  US   S   S:„  5        U R                  US   S   US   S   5        U R                  US   S   US   S   5        U R                  US   S   US   S   5        GME     g	)
z`
Test serializer stats - with details - are non-empty after serializing/unserializing messages.
TrÙ   rÛ   rÜ   r   rt   rÝ   rÞ   N)r”   rÁ   rp   rq   rß   rÔ   rr   rä   s          rP   Ú!test_serialize_stats_with_detailsÚ0TestSerializer.test_serialize_stats_with_details×  so  € ð ×)Õ)ˆCà(,×(;Ô(;Ñ$�ð #&§-¡-°Ó"4‘�ð —‘ Ö0ñ )<ð —I‘I d�IÐ+ˆEð
 �O‰O˜E ,Ñ/°Ñ8¸1Ñ<Ô=Ø�O‰O˜E ,Ñ/°
Ñ;¸aÑ?Ô@Ø�O‰O˜E ,Ñ/Ð0@ÑAÀAÑEÔFà�O‰O˜E .Ñ1°'Ñ:¸QÑ>Ô?Ø�O‰O˜E .Ñ1°*Ñ=ÀÑAÔBØ�O‰O˜E .Ñ1Ð2BÑCÀaÑGÔHà×Ñ˜U <Ñ0°Ñ9¸5ÀÑ;PÐQXÑ;YÔZØ×Ñ˜U <Ñ0°Ñ<¸eÀNÑ>SÐT^Ñ>_Ô`Ø×Ñ˜U <Ñ0Ð1AÑBÀEÈ.ÑDYÐZjÑDk×lò3 *rS   c                 óú  • U R                    Hë  nU R                   H)  u  p#UR                  U5      u  pEUR                  XE5        M+     UR	                  5         UR	                  SS9nU R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        U R                  US   S   S5        Mí     g	)
zM
Test serializer stats are reset after fetching stats - depending on option.
TrÙ   rÛ   rÜ   r   rt   rÝ   rÞ   N)r”   rÁ   rp   rq   rß   rr   rä   s          rP   Útest_reset_statsÚTestSerializer.test_reset_statsö  s   € ð ×)Ô)ˆCà(,×(;Ô(;Ñ$�ð #&§-¡-°Ó"4‘�ð —‘ Ö0ñ )<ð �I‰IŒKØ—I‘I d�IÐ+ˆEà×Ñ˜U <Ñ0°Ñ9¸1Ô=Ø×Ñ˜U <Ñ0°Ñ<¸aÔ@Ø×Ñ˜U <Ñ0Ð1AÑBÀAÔFà×Ñ˜U >Ñ2°7Ñ;¸QÔ?Ø×Ñ˜U >Ñ2°:Ñ>ÀÔBØ×Ñ˜U >Ñ2Ð3CÑDÀaÖHò' *rS   c                 óÐ   ^ • T R                    HU  nU 4S jnUR                  SSU5        T R                   H)  u  p4UR                  U5      u  pVUR	                  XV5        M+     MW     g)rã   c                 ó�   >• TR                  U S   S:„  5        TR                  U S   S:„  5        TR                  U S   S:„  5        g )NrÜ   r   rt   rÝ   )rÔ   )rß   rs   s    €rP   Úon_statsÚ0TestSerializer.test_auto_stats.<locals>.on_stats  sE   ø€ Ø—‘  g¡°Ñ 2Ô3Ø—‘  jÑ 1°AÑ 5Ô6Ø—‘ Ð&6Ñ 7¸!Ñ ;Õ<rS   rÄ   r   N)r”   Úset_stats_autoresetrÁ   rp   rq   )rs   ru   rï   r£   rO   rv   r[   s   `      rP   Útest_auto_statsÚTestSerializer.test_auto_stats  sa   ø€ ð ×)Ô)ˆCõ=ð
 ×#Ñ# B¨¨8Ô4à(,×(;Ô(;Ñ$�ð #&§-¡-°Ó"4‘�ð —‘ Ö0ó )<ò *rS   )rÁ   r”   N)r{   r|   r}   r~   r�   rÊ   r°   rº   rÖ   rà   rå   rè   rë   rò   r   rz   rS   rP   r¿   r¿   _  s8   † ò6ò
!ò.ò"2ò6Eò0Iò 9ò(mò>Iõ21rS   r¿   )F)r+   Úunittestr˜   r•   r   Úautobahn.wampr   r   r   rQ   r\   rg   ÚTestCaseri   r�   r¿   rz   rS   rP   Ú<module>r÷      sl   ðó6 
Û Û Û Ý å !Ý Ý $òe*òP)ô.ô4!( × 1Ñ 1ô !(ôLv0˜H×-Ñ-ô v0ôtC1�X×&Ñ&õ C1rS   