
    wg*                     0    d Z ddlZddlmZ  G d d      Zy)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                  j                  dg d      d        Z
ej                  j                  dg d	      d
        Zd Zd Zy)TestNamedMixinc                  T     G d dt               }  | d      }|j                  dk(  sJ y )Nc                       e Zd Zd Zy).TestNamedMixin.test_subclass.<locals>.Subclassc                     || _         y Nnameselfr   s     p/home/mcse/projects/flask/flask-venv/lib/python3.12/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
   s,    	!{ 	!
 F#}}&&&r   T)autousec                 0     G d dt               }|| _        y )Nc                       e Zd Zd Zy)5TestNamedMixin._named_mixin_fixture.<locals>.Subclassc                     || _         y 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   s    	!{ 	!
 !r   r   )ar   	long_namec                 H    | j                  |      }|j                  |k(  sJ y 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  | j                  |      }d d d        y # 1 sw Y   y xY wr
   )pytestraises	TypeErrorr   )r   r&   _s      r   "test_invalid_name_argument_not_strz1TestNamedMixin.test_invalid_name_argument_not_str$   s1    ]]9% 	,l+A	, 	, 	,   5>c                     t        j                  t              5  | j                  d      }d d d        y # 1 sw Y   y xY w)N )r(   r)   
ValueErrorr   )r   r+   s     r   *test_invalid_name_argument_zero_length_strz9TestNamedMixin.test_invalid_name_argument_zero_length_str)   s1    ]]:& 	"b!A	" 	" 	"r-   c                     | j                  d      }t        j                  t              5  d|_        d d d        y # 1 sw Y   y xY w)Nr   new_name)r   r(   r)   AttributeErrorr   )r   r   s     r    test_name_attribute_is_immutablez/TestNamedMixin.test_name_attribute_is_immutable-   s8    ==(]]>* 	'&HM	' 	' 	's	   <AN)r   r   r   staticmethodr   r(   fixturer!   markparametrizer%   r,   r1   r5   r   r   r   r   r      s    ' ' V^^D!! "! [[V%?@% A% [[^-BC, D,"'r   r   )__doc__r(   !sympy.physics.biomechanics._mixinr   r   r   r   r   <module>r<      s    D  9(' ('r   