
    tKg                     \    d dl Z d dlZd dlmZ d dlmZ  edg dddg      Z G d d	      Zy)
    N)assert_equal)_make_tuple_bunchResult)xyzwbetac                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zej,                  j/                  dddgdgfddgdgfddgdgfg      d        Zej,                  j/                  ddg ddgfdddgddgfg      d        Zej,                  j/                  dddgdgfddgdgfg      d         Zej,                  j/                  ddd!gdgfddgd"gfd#dgdgfg      d$        Zd% Zy&)'TestMakeTupleBunchc                 .    t        ddddd      | _        y )N         c         ?r   r   r   r	   r
   )r   resultselfs    _/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/_lib/tests/test_bunch.pysetup_methodzTestMakeTupleBunch.setup_method   s    qAbs;    c                 D   t        | j                  j                  d       t        | j                  j                  d       t        | j                  j                  d       t        | j                  j
                  d       t        | j                  j                  d       y )Nr   r   r   r   r   )r   r   r   r   r   r	   r
   r   s    r   test_attribute_accessz(TestMakeTupleBunch.test_attribute_access   s^    T[[]]A&T[[]]A&T[[]]A&T[[]]B'T[[%%s+r   c                 J   t        | j                  d   d       t        | j                  d   d       t        | j                  d   d       t        | j                  d   d       t        j                  t        d      5  | j                  d    d d d        y # 1 sw Y   y xY w)Nr   r   r   r   zindex out of rangematch)r   r   pytestraises
IndexErrorr   s    r   test_indexingz TestMakeTupleBunch.test_indexing   sq    T[[^Q'T[[^Q'T[[^Q'T[[_a(]]:-ABKKN CBBs    BB"c                 n    | j                   \  }}}t        |||fd       t        | j                   d       y Nr   r   r   )r   r   )r   x0y0z0s       r   test_unpackingz!TestMakeTupleBunch.test_unpacking%   s/    [[
Bb"b\9-T[[),r   c                     t        | j                  dd  d       t        | j                  d d d   d       t        | j                  d d d   d       y )Nr   )r   r   r   )r   r   r   )r   r   r   )r   r   r   s    r   
test_slicezTestMakeTupleBunch.test_slice*   sD    T[[_f-T[[1%v.T[[2&	2r   c                 B    t        t        | j                        d       y )Nr   )r   lenr   r   s    r   test_lenzTestMakeTupleBunch.test_len/   s    S%q)r   c                 F    t        | j                        }t        |d       y )Nz%Result(x=1, y=2, z=3, w=99, beta=0.5))reprr   r   )r   ss     r   	test_reprzTestMakeTupleBunch.test_repr2   s    Q?@r   c                 T    t        t        | j                        t        d             y r%   )r   hashr   r   s    r   	test_hashzTestMakeTupleBunch.test_hash6   s    T$++&Y8r   c                 4   t        j                  | j                        }t        j                  |      }t	        |t
              sJ t        |j                  | j                  j                         t        |j                  | j                  j                         t        |j                  | j                  j                         t        |j                  | j                  j                         t        |j                  | j                  j                         y )N)pickledumpsr   loads
isinstancer   r   r   r   r   r	   r
   )r   r2   objs      r   test_picklezTestMakeTupleBunch.test_pickle9   s    LL%ll1o#v&&&SUUDKKMM*SUUDKKMM*SUUDKKMM*SUUDKKMM*SXXt{{//0r   c                     t        j                  t        d      5  d| j                  _        d d d        y # 1 sw Y   y xY w)Nzcan't set attributer   r   )r    r!   AttributeErrorr   r   r   s    r   test_read_only_existingz*TestMakeTupleBunch.test_read_only_existingC   s)    ]]>1FGDKKM HGG	   7A c                 \    d| j                   _        | j                   j                  dk(  sJ y )Nzlattice of coincidence)r   plate_of_shrimpr   s    r   test_read_only_newz%TestMakeTupleBunch.test_read_only_newG   s'    &>#{{**.FFFFr   c                     t        j                  t        d      5  t        dddd       d d d        y # 1 sw Y   y xY w)Nmissingr   r   r   r         ?)r   r   r   r
   r    r!   	TypeErrorr   r   s    r   "test_constructor_missing_parameterz5TestMakeTupleBunch.test_constructor_missing_parameterK   s*    ]]9I6Q!qt, 766   5>c           	          t        j                  t        d      5  t        dddddd	       d d d        y # 1 sw Y   y xY w)
N
unexpectedr   r   r   r   {   rG   i  )r   r   r   r	   r
   foorH   r   s    r   $test_constructor_incorrect_parameterz7TestMakeTupleBunch.test_constructor_incorrect_parameterP   s.    ]]9L9Q!qCd< :99rA   c                 |    d}t        t        j                  |       t        | j                  j                  |       y )Nzscipy._lib.tests.test_bunch)r   r   
__module__r   )r   ms     r   test_modulezTestMakeTupleBunch.test_moduleU   s+    )V&&*T[[++Q/r   c                 0   t        ddddd      }t        ddd	d
d      }t        |j                  d       t        |j                  d       t        |d d  d       t        |j                  d
       t        |j                  d       t        |d d  d       y )Nr   r   r   r   g        r            r   g      ?r&   )rV   rW   rX   )r   r   r	   r
   )r   result1result2s      r   test_extra_fields_per_instancez1TestMakeTupleBunch.test_extra_fields_per_instanceZ   s~     1Q"371Q"37WYY#W\\3' 	WQZ+WYY#W\\3'WQZ+r   c                     t        dddg      } |dd      }t        |j                  d       t        |j                  d       t	        |      }t        |d       y )NSquarewidthheightr   r   )r^   r_   zSquare(width=1, height=2))r   r   r^   r_   r1   )r   r]   sqr2   s       r   "test_extra_field_names_is_optionalz5TestMakeTupleBunch.test_extra_field_names_is_optionalm   sO    "8gx-@A!A&RXXq!RYY"HQ34r   c                     t        dddg      } |dd      }t        |t              sJ t        |dz   t              sJ y )NTupabr   r   )rd   re   )r   )r   r;   tuple)r   rc   tus      r   test_tuple_likez"TestMakeTupleBunch.test_tuple_likeu   sA    Sz21]"e$$$"t)U+++r   c                     d}t        ddgddg|      } |ddd	
      }t        |j                  |       t        |j                  |       y )Nzsome.module.nameFoor   rd   re   )moduler   ic  q   )r   rd   re   )r   r   rR   )r   rS   rj   rO   s       r   test_explicit_modulez'TestMakeTupleBunch.test_explicit_module{   sG    usCjCA$S^^Q'S^^Q'r   args123rd   re   rj   z-3r   z+-*/c                 t    t        j                  t        d      5  t        |  d d d        y # 1 sw Y   y xY w)Nidentifiersr   r    r!   
ValueErrorr   r   rn   s     r   test_identifiers_not_allowedz/TestMakeTupleBunch.test_identifiers_not_allowed   s&     ]]:];t$ <;;   	.7)rd   re   rd   c                 t    t        j                  t        d      5  t        |  d d d        y # 1 sw Y   y xY w)N	Duplicater   rr   rt   s     r   test_repeated_field_namesz,TestMakeTupleBunch.test_repeated_field_names   s&     ]]:[9t$ :99rv   _a_xc                 t    t        j                  t        d      5  t        |  d d d        y # 1 sw Y   y xY w)N
underscorer   rr   rt   s     r   #test_leading_underscore_not_allowedz6TestMakeTupleBunch.test_leading_underscore_not_allowed   s&     ]]:\:t$ ;::rv   deforandc                 t    t        j                  t        d      5  t        |  d d d        y # 1 sw Y   y xY w)Nkeywordr   rr   rt   s     r   "test_keyword_not_allowed_in_fieldsz5TestMakeTupleBunch.test_keyword_not_allowed_in_fields   s&     ]]:Y7t$ 877rv   c                     t        j                  t        d      5  t        dg ddg       d d d        y # 1 sw Y   y xY w)Nzat least one namer   Qwertyrd   re   rr   r   s    r   %test_at_least_one_field_name_requiredz8TestMakeTupleBunch.test_at_least_one_field_name_required   s.    ]]:-@AhS#J7 BAArK   N)__name__rR   __qualname__r   r   r#   r*   r,   r/   r3   r6   r=   r@   rD   rJ   rP   rT   r[   ra   rh   rm   r    markparametrizeru   ry   r~   r   r    r   r   r   r      s   <,-
3
*A91G-
=
0
,&5,( [[VusecU&;',tfse&<',sefX&>&@ A%A% [[Vuou&E',sCj3*&E&G H%H% [[Vutfse&<',sedV&<&> ?%?% [[Vuugu&=',sedV&<',secU&;&= >%>%8r   r   )r    r8   numpy.testingr   scipy._lib._bunchr   r   r   r   r   r   <module>r      s1      & /
 
8_sFm	DV8 V8r   