o
    GZh*                     @   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                   @   sp   e Zd Zedd Zejdddd Zej	dg dd	d
 Z
ej	dg ddd Zdd Zdd ZdS )TestNamedMixinc                  C   s*   G dd dt } | d}|jdksJ d S )Nc                   @      e Zd Zdd ZdS )z.TestNamedMixin.test_subclass.<locals>.Subclassc                 S   
   || _ d S Nnameselfr    r   Z/var/www/auris/lib/python3.10/site-packages/sympy/physics/biomechanics/tests/test_mixin.py__init__      
z7TestNamedMixin.test_subclass.<locals>.Subclass.__init__N__name__
__module____qualname__r   r   r   r   r   Subclass       r   r   )r   r   )r   instancer   r   r   test_subclass
   s   zTestNamedMixin.test_subclassT)Zautousec                 C   s   G dd dt }|| _d S )Nc                   @   r   )z5TestNamedMixin._named_mixin_fixture.<locals>.Subclassc                 S   r   r   r   r	   r   r   r   r      r   z>TestNamedMixin._named_mixin_fixture.<locals>.Subclass.__init__Nr   r   r   r   r   r      r   r   )r   r   )r
   r   r   r   r   _named_mixin_fixture   s   
z#TestNamedMixin._named_mixin_fixturer   )ar   Z	long_namec                 C   s   |  |}|j|ksJ d S r   )r   r   )r
   r   r   r   r   r   test_valid_name_argument   s   
z'TestNamedMixin.test_valid_name_argumentinvalid_name)r   g        NFc                 C   s:   t t | |}W d    d S 1 sw   Y  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 d    d S 1 sw   Y  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 d    d S 1 sw   Y  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_immutableN)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    