U
    L?h                     @   s   d dl mZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 ed\ZZZeddd	\ZZZZd
d Zdd Zdd ZG dd de
ZG dd de
ZG dd de
Zdd ZdS )    Integer)symbols)Dagger)AntiCommutator)Operatorza,b,czA,B,C,DF)Zcommutativec                  C   sD   t tt} t| t st| jdks&t| ttt ttks@td S )NF)ACommAB
isinstanceAssertionErrorZis_commutativesubsC)ac r   a/var/www/html/venv/lib/python3.8/site-packages/sympy/physics/quantum/tests/test_anticommutator.pytest_anticommutator   s    
r   c                   C   s   t tt tt tt t tt ks(tt ttdtd  ksBtt ttt ttksZtt ttdt t ksttt tt tt tt  kstd S )N   )r   ar	   br
   r   doitr   r   r   r   test_commutator_identities   s
    (r   c                   C   s(   t ttttt tt tks$td S )N)r   r   r	   r
   r   r   r   r   r   test_anticommutator_dagger   s    r   c                   @   s   e Zd Zdd ZdS )Fooc                 C   s   t dS )Nr   r   )selfbarr   r   r   _eval_anticommutator_Bar"   s    zFoo._eval_anticommutator_BarN)__name__
__module____qualname__r   r   r   r   r   r       s   r   c                   @   s   e Zd ZdS )BarN)r   r   r   r   r   r   r   r    &   s   r    c                   @   s   e Zd Zdd ZdS )Tamc                 C   s   t dS )N   r   )r   Zfoor   r   r   _eval_anticommutator_Foo,   s    zTam._eval_anticommutator_FooN)r   r   r   r#   r   r   r   r   r!   *   s   r!   c                  C   s   t d} td}td}t| | dks.tt||  dksDtt| | dksZtt||  dksptt|| || ||  kstd S )NFr
   Tr   r"   )r   r    r!   r   r   r   )r$   r
   r%   r   r   r   test_eval_commutator0   s    r&   N)Zsympy.core.numbersr   Zsympy.core.symbolr   Zsympy.physics.quantum.daggerr   Z$sympy.physics.quantum.anticommutatorr   r   Zsympy.physics.quantum.operatorr   r   r   cr	   r
   r   Dr   r   r   r   r    r!   r&   r   r   r   r   <module>   s   