a
    ze-                     @   sN   d dl Z d dlZd dlZd dlmZmZ G dd de jZedkrJe 	  dS )    N)sentinelDEFAULTc                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )SentinelTestc                 C   s(   |  tjtjd | tjtjd d S )Nzsentinel not storedzsentinel should be unique)assertEqualr   whateverZassertNotEqualZwhateverelseself r	   9/usr/lib/python3.9/unittest/test/testmock/testsentinel.pytestSentinels	   s    zSentinelTest.testSentinelsc                 C   s   |  ttjdd d S )Nzsentinel.whateverzsentinel name incorrect)r   strr   r   r   r	   r	   r
   testSentinelName   s    zSentinelTest.testSentinelNamec                 C   s   |  ttj d S N)assertIsr   r   r   r	   r	   r
   testDEFAULT   s    zSentinelTest.testDEFAULTc                 C   s   |  tdd  d S )Nc                   S   s   t jS r   )r   	__bases__r	   r	   r	   r
   <lambda>       z(SentinelTest.testBases.<locals>.<lambda>)ZassertRaisesAttributeErrorr   r	   r	   r
   	testBases   s    zSentinelTest.testBasesc              	   C   sj   t tjd D ]V}| j|d6 ttj|}t|}| |tj W d    q1 sZ0    Y  qd S )N   )protocol)	rangepickleHIGHEST_PROTOCOLZsubTestdumpsr   r   loadsr   )r   protoZpickledZ	unpickledr	   r	   r
   
testPickle   s
    
zSentinelTest.testPicklec                 C   s0   |  ttjtj |  ttjtj d S r   )r   copyr   r   deepcopyr   r	   r	   r
   testCopy#   s    zSentinelTest.testCopyN)	__name__
__module____qualname__r   r   r   r   r   r!   r	   r	   r	   r
   r      s   r   __main__)
Zunittestr   r   Zunittest.mockr   r   ZTestCaser   r"   mainr	   r	   r	   r
   <module>   s   !