
                         >    S SK r S SKr " S S\ R                  5      rg)    Nc                   L   \ rS rSr\R
                  R                  4S jr\R
                  R                  4S jr\R
                  R                  4S jr
\R
                  R                  4S jr\R
                  R                  4S jr\R
                  R                  4S jrSrg	)
CacheKeysTest   c                    U R                  U" 5       U" 5       5        U R                  [        U" 5       5      [        U" 5       5      5        U R                  U" SSS5      U" SSS5      5        U R                  [        U" SSS5      5      [        U" SSS5      5      5        U R                  U" SSSSS9U" SSSSS95        U R                  [        U" SSSSS95      [        U" SSSSS95      5        U R                  U" SSS5      U" SSS5      5        U R                  U" SSS5      U" SSSS S95        U R                  U" SSSSS9U" SSSS S95        U R                  U" SSSSS9U" SSSSS95        U R                  [        5         [        U" 0 5      5        S S S 5        U R                  U" SSS5      U" SSS	5      5        U R                  [        U" SSS5      5      [        U" SSS	5      5      5        g ! , (       d  f       Ne= f
N         r   xy      ?       @      @assertEqualhashassertNotEqualassertRaises	TypeErrorselfkeys     9platform/gsutil/third_party/cachetools/tests/test_keys.pytest_hashkeyCacheKeysTest.test_hashkey   s   &ced35k2Q1s1a|4c!Ql+T#aA,-?@Q1*C1a1,=>c!QQ/0$s1aa7H2IJC1aL#aA,7C1aL#aA*>?C1a1-s1ad/CDC1a1-s1aa/@Ay)RM * 	Q1s3S'9:c!Ql+T#c32D-EF	 *)s   G<<
H
c                 L   U R                  U" S5      U" S5      5        U R                  [        U" S5      5      [        U" S5      5      5        U R                  U" SSSS5      U" SSSS5      5        U R                  [        U" SSSS5      5      [        U" SSSS5      5      5        U R                  U" SSSSSS9U" SSSSSS95        U R                  [        U" SSSSSS95      [        U" SSSSSS95      5        U R                  U" SSSS5      U" SSSS5      5        U R                  U" SSSS5      U" SSSSS S95        U R                  U" SSSSSS9U" SSSSS S95        U R                  U" SSSSSS9U" SSSSSS95        U R                  [        5         [        SU" 0 5      5        S S S 5        U R                  U" SSSS5      U" SS	S
S5      5        U R                  [        U" SSSS5      5      [        U" SS	S
S5      5      5        g ! , (       d  f       Ni= fNr   r   r   r	   r
   r   r   r   r   r   r   r   r   s     r   	methodkeyCacheKeysTest.methodkey   s   S3s8,c#hc#h8S!Q*CQ1,=>c#q!Q/0$s31a7H2IJS!QQ/S!QQ1GHc#q!Q!45tCQ1PQ<R7STCQ1-s31a/@ACQ1-s31a4/HICQ12CQ14MNCQ12CQ14JKy)c"g * 	S!Q*CS#s,CDc#q!Q/0$s3S#7N2OP	 *)s   H
H#c                    U R                  U" 5       U" 5       5        U R                  [        U" 5       5      [        U" 5       5      5        U R                  U" SSS5      U" SSS5      5        U R                  [        U" SSS5      5      [        U" SSS5      5      5        U R                  U" SSSSS9U" SSSSS95        U R                  [        U" SSSSS95      [        U" SSSSS95      5        U R                  U" SSS5      U" SSS5      5        U R                  U" SSS5      U" SSSS S95        U R                  U" SSSSS9U" SSSS S95        U R                  U" SSSSS9U" SSSSS95        U R                  [        5         [        U" 0 5      5        S S S 5        U R                  U" SSS5      U" SSS	5      5        g ! , (       d  f       N1= fr   r   r   s     r   test_typedkeyCacheKeysTest.test_typedkey*   s   &ced35k2Q1s1a|4c!Ql+T#aA,-?@Q1*C1a1,=>c!QQ/0$s1aa7H2IJC1aL#aA,7C1aL#aA*>?C1a1-s1ad/CDC1a1-s1aa/@Ay)RM * 	C1aL#c3*<= *)s   G
Gc                    U R                  U" S5      U" S5      5        U R                  [        U" S5      5      [        U" S5      5      5        U R                  U" SSSS5      U" SSSS5      5        U R                  [        U" SSSS5      5      [        U" SSSS5      5      5        U R                  U" SSSSSS9U" SSSSSS95        U R                  [        U" SSSSSS95      [        U" SSSSSS95      5        U R                  U" SSSS5      U" SSSS5      5        U R                  U" SSSS5      U" SSSSS S95        U R                  U" SSSSSS9U" SSSSS S95        U R                  U" SSSSSS9U" SSSSSS95        U R                  [        5         [        U" S0 5      5        S S S 5        U R                  U" SSSS5      U" SS	S
S5      5        g ! , (       d  f       N3= fr   r   r   s     r   test_typedmethodkey!CacheKeysTest.test_typedmethodkey:   s   S3s8,c#hc#h8S!Q*CQ1,=>c#q!Q/0$s31a7H2IJS!QQ/S!QQ1GHc#q!Q!45tCQ1PQ<R7STCQ1-s31a/@ACQ1-s31a4/HICQ12CQ14MNCQ12CQ14JKy)S" * 	CQ1-s3S#/FG *)s   G
G-c                 L   U R                  U" 5       [        5        U R                  U" SSS5      U" SSS5      -   [        U" 5       5      5        U R                  U" SSS5      S-   [        U" 5       5      5        U R                  SU" SSS5      -   [        U" 5       5      5        g )	Nr   r	   r
         r   )r)   r*   r   )r   r	   r
   )assertIsInstancetupletyper   s     r   test_addkeysCacheKeysTest.test_addkeysK   s    ceU+c!QlSAq\94;Gc!QlY6SUDi#aA,6SUD    c                    SS K nU" 5       U" S5      U" SS5      U" SSS94 H  nU R                  [        UR                  5      S5        [	        U5      nU R                  [        UR                  5      S5        UR                  UR                  U5      5      nU R                  [        UR                  5      S5        U R                  X55        U R                  U[	        U5      5        M     g )Nr   abc{   )qr   )pickler   len__dict__r   loadsdumps)r   r   r5   khpickleds         r   test_pickleCacheKeysTest.test_pickleQ   s    %US_c%56IJAS_a0QAS_a0ll6<<?3GS!1!12A6Q(QW. Kr0    N)__name__
__module____qualname____firstlineno__
cachetoolskeyshashkeyr   r    typedkeyr#   typedmethodkeyr&   r.   r=   __static_attributes__r?   r0   r   r   r      s|    )66 G" 'OO55 Q$ !+ 8 8 >  '1oo&D&D H"  *66 E )oo55 /r0   r   )unittestcachetools.keysrD   TestCaser   r?   r0   r   <module>rM      s     V/H%% V/r0   