
    g*                     8    d Z ddlZddlmZ  G d d          ZdS )z>Tests for the ``sympy.physics.biomechanics._mixin.py`` module.    N)_NamedMixinc                       e Zd Zed             Z ej        d          d             Zej        	                    dg d          d             Z
ej        	                    dg d	          d
             Zd Zd ZdS )TestNamedMixinc                  \     G d dt                     }  | d          }|j        dk    sJ d S )Nc                       e Zd Zd ZdS ).TestNamedMixin.test_subclass.<locals>.Subclassc                     || _         d S Nnameselfr   s     g/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/biomechanics/tests/test_mixin.py__init__z7TestNamedMixin.test_subclass.<locals>.Subclass.__init__        			    N__name__
__module____qualname__r    r   r   Subclassr      #        ! ! ! ! !r   r   r   )r   r   )r   instances     r   test_subclasszTestNamedMixin.test_subclass
   sV    	! 	! 	! 	! 	!{ 	! 	! 	!
 8F##}&&&&&&r   T)autousec                 :     G d dt                     }|| _        d S )Nc                       e Zd Zd ZdS )5TestNamedMixin._named_mixin_fixture.<locals>.Subclassc                     || _         d S r
   r   r   s     r   r   z>TestNamedMixin._named_mixin_fixture.<locals>.Subclass.__init__   r   r   Nr   r   r   r   r   r      r   r   r   )r   r   )r   r   s     r   _named_mixin_fixturez#TestNamedMixin._named_mixin_fixture   s9    	! 	! 	! 	! 	!{ 	! 	! 	!
 !r   r   )ar   	long_namec                 J    |                      |          }|j        |k    sJ d S r
   )r   r   )r   r   r   s      r   test_valid_name_argumentz'TestNamedMixin.test_valid_name_argument   s,    ==&&}$$$$$$r   invalid_name)r   g        NFc                     t          j        t                    5  |                     |          }d d d            d S # 1 swxY w Y   d S r
   )pytestraises	TypeErrorr   )r   r&   _s      r   "test_invalid_name_argument_not_strz1TestNamedMixin.test_invalid_name_argument_not_str$   s    ]9%% 	, 	,l++A	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,   =AAc                     t          j        t                    5  |                     d          }d d d            d S # 1 swxY w Y   d S )N )r(   r)   
ValueErrorr   )r   r+   s     r   *test_invalid_name_argument_zero_length_strz9TestNamedMixin.test_invalid_name_argument_zero_length_str)   s    ]:&& 	" 	"b!!A	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"r-   c                     |                      d          }t          j        t                    5  d|_        d d d            d S # 1 swxY w Y   d S )Nr   new_name)r   r(   r)   AttributeErrorr   )r   r   s     r    test_name_attribute_is_immutablez/TestNamedMixin.test_name_attribute_is_immutable-   s    ==((]>** 	' 	'&HM	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   AAAN)r   r   r   staticmethodr   r(   fixturer!   markparametrizer%   r,   r1   r5   r   r   r   r   r      s        ' ' \' V^D!!!! ! "!! [V%?%?%?@@% % A@% [^-B-B-BCC, , DC," " "' ' ' ' 'r   r   )__doc__r(   !sympy.physics.biomechanics._mixinr   r   r   r   r   <module>r<      sX    D D  9 9 9 9 9 9(' (' (' (' (' (' (' (' (' ('r   