U
    ZÊ¹j*  ã                   @   s*   d Z ddlZddlmZ G dd„ dƒZdS )z>Tests for the ``sympy.physics.biomechanics._mixin.py`` module.é    N)Ú_NamedMixinc                   @   sv   e Zd Zedd„ ƒZejdd�dd„ ƒZej 	dddd	g¡d
d„ ƒZ
ej 	dddddg¡dd„ ƒZdd„ Zdd„ ZdS )ÚTestNamedMixinc                  C   s*   G dd„ dt ƒ} | dƒ}|jdks&t‚d S )Nc                   @   s   e Zd Zdd„ ZdS )z.TestNamedMixin.test_subclass.<locals>.Subclassc                 S   s
   || _ d S ©N©Úname©Úselfr   © r	   új/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/physics/biomechanics/tests/test_mixin.pyÚ__init__   s    z7TestNamedMixin.test_subclass.<locals>.Subclass.__init__N©Ú__name__Ú
__module__Ú__qualname__r   r	   r	   r	   r
   ÚSubclass   s   r   r   )r   r   ÚAssertionError)r   Úinstancer	   r	   r
   Útest_subclass
   s    zTestNamedMixin.test_subclassT)Zautousec                 C   s   G dd„ dt ƒ}|| _d S )Nc                   @   s   e Zd Zdd„ ZdS )z5TestNamedMixin._named_mixin_fixture.<locals>.Subclassc                 S   s
   || _ d S r   r   r   r	   r	   r
   r      s    z>TestNamedMixin._named_mixin_fixture.<locals>.Subclass.__init__Nr   r	   r	   r	   r
   r      s   r   )r   r   )r   r   r	   r	   r
   Ú_named_mixin_fixture   s    z#TestNamedMixin._named_mixin_fixturer   ÚaZ	long_namec                 C   s   |   |¡}|j|kst‚d S r   )r   r   r   )r   r   r   r	   r	   r
   Útest_valid_name_argument   s    
z'TestNamedMixin.test_valid_name_argumentÚinvalid_namer   g        NFc              	   C   s$   t  t¡� |  |¡}W 5 Q R X d S r   )ÚpytestÚraisesÚ	TypeErrorr   )r   r   Ú_r	   r	   r
   Ú"test_invalid_name_argument_not_str$   s    z1TestNamedMixin.test_invalid_name_argument_not_strc              	   C   s$   t  t¡� |  d¡}W 5 Q R X d S )NÚ )r   r   Ú
ValueErrorr   )r   r   r	   r	   r
   Ú*test_invalid_name_argument_zero_length_str)   s    z9TestNamedMixin.test_invalid_name_argument_zero_length_strc              	   C   s*   |   d¡}t t¡� d|_W 5 Q R X d S )Nr   Únew_name)r   r   r   ÚAttributeErrorr   )r   r   r	   r	   r
   Ú test_name_attribute_is_immutable-   s    
z/TestNamedMixin.test_name_attribute_is_immutable)r   r   r   Ústaticmethodr   r   Zfixturer   ÚmarkZparametrizer   r   r   r"   r	   r	   r	   r
   r      s   



	

r   )Ú__doc__r   Z!sympy.physics.biomechanics._mixinr   r   r	   r	   r	   r
   Ú<module>   s   