ó
    Ö›‘hù  ã                   ó    • S SK Jr  S SKJrJr  S SKJr  S SKJr  \" \R                  5       " S S5      5       r
 " S S\R                  5      rg	)
é    )Úimplementer)ÚethernetÚraw)Ú
components)Úunittestc                   ó&   • \ rS rSrS rS rS rSrg)Ú
MyProtocolé
   c                 ó$   • [        U5      U l        g )N)ÚlistÚ	expecting)Úselfr   s     ÚcC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/pair/test/test_ethernet.pyÚ__init__ÚMyProtocol.__init__   s   € Ü˜i›ˆ�ó    c                 ó   • g)z
Not implemented
N© )r   ÚnumÚprotos      r   ÚaddProtoÚMyProtocol.addProto   s   � r   c                 óÊ   • U R                   (       d   S5       eU R                   R                  S5      n[        5       nUUUUS.nXaU4:X  d   SR                  XaU45      5       eg )Nz(Got a packet when not expecting anymore.r   ©ÚpartialÚdestÚsourceÚprotocolzExpected {!r}, got {!r})r   ÚpopÚlocalsÚformat)	r   Údatar   r   r   r   ÚexpectÚlocalVariablesÚparamss	            r   ÚdatagramReceivedÚMyProtocol.datagramReceived   sp   € Ø�~�~ÐIÐIÓIˆ~Ø—‘×#Ñ# AÓ&ˆÜ›ˆàØØØ ñ	
ˆð  ˜Ó'ð 	
Ð)B×)IÑ)IØ˜6�Nó*
ó 	
Ñ'r   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r&   Ú__static_attributes__r   r   r   r	   r	   
   s   † ò)òõ

r   r	   c                   óJ   • \ 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)ÚEthernetTestsé#   c                 óâ   • [         R                  " 5       n[        SSSSSS.4/5      nUR                  SU5        UR	                  SSS9  UR
                  (       a   S	UR
                  -  5       eg )
Nó   foobarr   ó   123456ó   987654é   r   ó   123456987654 foobar©r   ú5Should not expect any more packets, but still want %r©r   ÚEthernetProtocolr	   r   r&   r   ©r   r   Úp1s      r   ÚtestPacketParsingÚEthernetTests.testPacketParsing$   s€   € Ü×)Ò)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð
ó
ˆð 	�‰�v˜rÔ"à×ÑÐ<ÀaÐÑHà—<—<ð 	
ØCÀbÇlÁlÑRó	
Ð�<r   c           	      ó  • [         R                  " 5       n[        SSSSSS.4SSS	S
SS.4/5      nUR                  SU5        UR	                  SSS9  UR	                  SSS9  UR
                  (       a   SUR
                  -  5       eg )Nr1   r   r2   r3   r4   r   ó   quuxé   ó   012345ó   abcdefr5   r6   ó   012345abcdef quuxr7   r8   r:   s      r   ÚtestMultiplePacketsÚ!EthernetTests.testMultiplePackets;   s¯   € Ü×)Ò)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð à#$Ø )Ø"+Ø$*ñ	ððó
ˆð, 	�‰�v˜rÔ"à×ÑÐ<ÀaÐÑHØ×ÑÐ:ÀAÐÑFà—<—<ð 	
ØCÀbÇlÁlÑRó	
Ð�<r   c                 ó¦  • [         R                  " 5       n[        SSSSSS.4/5      n[        SSSSSS.4/5      nUR                  SU5        UR                  SU5        UR	                  SSS9  UR
                  (       a    S	R                  UR
                  5      5       eUR
                  (       a    S	R                  UR
                  5      5       eg )
Nr1   r   r2   r3   r4   r   r5   r6   z7Should not expect any more packets, but still want {!r})r   r9   r	   r   r&   r   r!   ©r   r   r;   Úp2s       r   ÚtestMultipleSameProtosÚ$EthernetTests.testMultipleSameProtos\   sð   € Ü×)Ò)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð
ó
ˆô ð à#$Ø )Ø"+Ø$*ñ	ðð
ó
ˆð 	�‰�v˜rÔ"Ø�‰�v˜rÔ"à×ÑÐ<ÀaÐÑHð ——ð	
àG×NÑNØ�L‰Ló
ó	
Øð
 ——ð	
àG×NÑNØ�L‰Ló
ó	
Ø�r   c                 ó¨   • [         R                  " 5       n[        / 5      nUR                  SU5        UR	                  SSS9  UR	                  SSS9  g )Ni  r5   r   r6   rC   r@   )r   r9   r	   r   r&   r:   s      r   ÚtestWrongProtoNotSeenÚ#EthernetTests.testWrongProtoNotSeenŠ   sO   € Ü×)Ò)Ó+ˆÜ˜‹^ˆØ�‰�v˜rÔ"à×ÑÐ<ÀaÐÑHØ×ÑÐ:ÀAÐÒFr   c           	      óö  • [         R                  " 5       n[        SSSSSS.4SSS	S
SS.4/5      nUR                  SU5        [        SSS	S
SS.4SSSSSS.4/5      nUR                  SU5        UR	                  SSS9  UR	                  SSS9  UR	                  SSS9  UR	                  SSS9  UR
                  (       a   SUR
                  -  5       eUR
                  (       a   SUR
                  -  5       eg )Nr1   r   r2   r3   r4   r   r?   r@   rA   rB   i  r5   r6   s   012345abcdefquuxs   123456987654foobarrC   r7   r8   rG   s       r   ÚtestDemuxingÚEthernetTests.testDemuxing’   sN  € Ü×)Ò)Ó+ˆÜð à#$Ø )Ø"+Ø$*ñ	ðð à#$Ø )Ø"+Ø$*ñ	ððó
ˆð, 	�‰�v˜rÔ"äð à#$Ø )Ø"+Ø$*ñ	ðð à#$Ø )Ø"+Ø$*ñ	ððó
ˆð, 	�‰�v˜rÔ"à×ÑÐ<ÀaÐÑHØ×ÑÐ:ÀAÐÑFØ×ÑÐ<ÀaÐÑHØ×ÑÐ:ÀAÐÑFà—<—<ð 	
ØCÀbÇlÁlÑRó	
Ðð —<—<ð 	
ØCÀbÇlÁlÑRó	
Ð�<r   c                 óœ   • [         R                  " 5       n UR                  SS5        [        S5      e! [        R
                   a     gf = f)z2Adding a wrong level protocol raises an exception.é*   Ú	sillinessú2addProto must raise an exception for bad protocolsN)r   r9   r   ÚAssertionErrorr   ÚCannotAdapt©r   Úes     r   ÚtestAddingBadProtos_WrongLevelÚ,EthernetTests.testAddingBadProtos_WrongLevelÐ   sL   € ä×%Ò%Ó'ˆð	WØ�J‰J�r˜;Ô'ô !Ð!UÓVÐVøô ×%Ñ%ó 	Ùð	ús   —4 ´AÁ
Ac                 óÊ   • [         R                  " 5       n UR                  S[        / 5      5        [	        S5      e! [
         a  nUR                  S:X  a   SnAge SnAff = f)z=Adding a protocol with a negative number raises an exception.éÿÿÿÿrT   )z'Added protocol must be positive or zeroN©r   r9   r   r	   rU   Ú	TypeErrorÚargsrW   s     r   ÚtestAddingBadProtos_TooSmallÚ*EthernetTests.testAddingBadProtos_TooSmallÚ   s[   € ä×%Ò%Ó'ˆð	WØ�J‰J�rœ: b›>Ô*ô !Ð!UÓVÐVøô ó 	Ø�v‰vÐEÓEÜàûð		úó   —= ½
A"ÁAÁAÁA"c                 óÊ   • [         R                  " 5       n UR                  S[        / 5      5        [	        S5      e! [
         a  nUR                  S:X  a   SnAge SnAff = f)ú<Adding a protocol with a number >=2**16 raises an exception.i   rT   ©z"Added protocol must fit in 16 bitsNr]   rW   s     r   ÚtestAddingBadProtos_TooBigÚ(EthernetTests.testAddingBadProtos_TooBigç   s[   € ä×%Ò%Ó'ˆð	WØ�J‰J�uœj¨›nÔ-ô !Ð!UÓVÐVøô ó 	Ø�v‰vÐ@Ó@Üàûð		úrb   c                 óÊ   • [         R                  " 5       n UR                  S[        / 5      5        [	        S5      e! [
         a  nUR                  S:X  a   SnAge SnAff = f)rd   i  rT   re   Nr]   rW   s     r   ÚtestAddingBadProtos_TooBig2Ú)EthernetTests.testAddingBadProtos_TooBig2ô   s[   € ä×%Ò%Ó'ˆð	WØ�J‰J�y¤*¨R£.Ô1ô !Ð!UÓVÐVøô ó 	Ø�v‰vÐ@Ó@Üàûð		úrb   r   N)r(   r)   r*   r+   r<   rD   rI   rL   rO   rY   r`   rf   ri   r,   r   r   r   r.   r.   #   s7   † ò
ò.
òB,
ò\Gò<
ò|WòWòWõWr   r.   N)Úzope.interfacer   Útwisted.pairr   r   Útwisted.pythonr   Útwisted.trialr   ÚIRawPacketProtocolr	   ÚTestCaser.   r   r   r   Ú<module>rq      sM   ðõ 'ç &Ý %Ý "ñ ˆS×#Ñ#Ó$÷
ð 
ó %ð
ô0\W�H×%Ñ%õ \Wr   