
    daf&                         d dl Z d dlZd dlmZ d dlmZ  ej                  d      ZdZej                  Z	ej                  Z
 G d de      Z G d de j                        Zy)	    N)import_helper)UserList	_testcapic                       e Zd Zy)ListSubclassN)__name__
__module____qualname__     3/root/Python-3.12.4/Lib/test/test_capi/test_list.pyr   r      s    r   r   c                   l    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y)CAPITestc                    t         j                  }| j                   |ddg             | j                   |g              | j                   |t        ddg                   | j	                   |ddi             | j	                   |d             | j	                   |d             | j	                   |t                            y )N      )r   r   *   )r   
list_check
assertTruer   assertFalseobjectselfchecks     r   
test_checkzCAPITest.test_check   s    $$q!f&b	"lAq62341v'v'r#vx)r   c                 x   t         j                  }| j                   |dg             | j                   |g              | j                   |t	        dg                   | j                   |t        ddg                   | j                   |ddi             | j                   |t                            y Nr   r   )r   list_check_exactr   r   r   r   r   r   s     r   test_list_check_exactzCAPITest.test_list_check_exact   s    **qc
#b	"|QC012xA/011v'vx)r   c                 .   t         j                  } |d      }| j                  |g        | j                  t	        |      t
                |d      }| j                  ||       | j                  t        |t               | j                  t        |d       y )Nr   )
r   list_newassertEqualassertIstypelistassertIsNotassertRaisesSystemErrorNULL)r   r"   lstlst2s       r   test_list_newzCAPITest.test_list_new*   su    %%qkb!d3i&{s#+x6+x4r   c                 v   t         j                  }| j                   |ddg      d       | j                   |t        ddg            d       | j	                  t
        |t                      | j	                  t
        |i        | j	                  t
        |d       | j	                  t
        |t                      y )Nr   r      )r   	list_sizer#   r   r(   r)   r   r   r   sizes     r   test_list_sizezCAPITest.test_list_size5   s    ""q!fq)lAq623Q7+tXZ8+tR0+tR0+tVX6r   c                     t         j                  }| j                   |ddg      d       | j                   |t        ddg            d       y r   )r   list_get_sizer#   r   r1   s     r   test_list_get_sizezCAPITest.test_list_get_size@   sC    &&q!fq)lAq623Q7r   c                    t         j                  }g d}| j                   ||d      d       | j                   ||d      d       | j                  t        ||d       | j                  t        ||d       | j                  t        ||t
               | j                  t        ||t               | j                  t        |dd       | j                  t        |dd       | j                  t        |ddid       y )Nr   r      r   r   r   r9   r!   r   )r   list_getitemr#   r(   
IndexErrorPY_SSIZE_T_MINPY_SSIZE_T_MAXr)   )r   getitemr+   s      r   test_list_getitemzCAPITest.test_list_getitemL   s    ((a!,a!,*gsA6*gsB7*gsNC*gsNC+wA6+w	1=+wA:r   c                     t         j                  }ddg dg}| j                   ||d      d       | j                   ||d      g d       y )Nr   r   r8   r   )r   list_get_itemr#   )r   get_itemr+   s      r   test_list_get_itemzCAPITest.test_list_get_item\   sG    **!Y#q)1-#q)95r   c                    t         j                  }g d} ||dd       | j                  |g d        ||dd       | j                  |g d       | j                  t        ||dd	       | j                  t        ||d
d	       | j                  t        ||t
        d	       | j                  t        ||t        d	       | j                  t        |ddd	       | j                  t        |ddidd	       y )Nr8   r   
   )rE   r   r9   r      )rE   r   rF   r9      r!   r   )r   list_setitemr#   r(   r;   r<   r=   r)   )r   setitemr+   s      r   test_list_setitemzCAPITest.test_list_setitemj   s    ((Qj)Qk**gsA:*gsB:*gsNAF*gsNAF+w	1a@+wA1=r   c                     t         j                  }g d} ||dd        ||dg d       | j                  |ddg dg       y )Nr8   r   rE   r   )r   list_set_itemr#   )r   set_itemr+   s      r   test_list_set_itemzCAPITest.test_list_set_item{   sA    **aa#q"i01r   c                 >   t         j                  }g d} ||dd       | j                  |g d        ||dd       | j                  |g d        ||t        d       | j                  |d   d        ||t	        |      d	       | j                  |d   d	        ||t	        |      dz
  d
       | j                  |d   d
        ||t
        d       | j                  |d   d       | j                  t        |ddd       | j                  t        |ddidd       y )Nr8   r   r/   )r/   r   r   r9   r!      )r/   r   r   rP   r9   r   {   |      rG   r   )r   list_insertr#   r<   lenr=   r(   r)   )r   insertr+   s      r   test_list_insertzCAPITest.test_list_insert   s   &&sArm,sB/0sNA&Q#sCHc"R#&sCHQJ$R#&sNC(R#&+vy!Q?+v1vq!<r   c           	      F   t         j                  }g d} ||d       | j                  |g d        ||ddg       | j                  |ddddddgg       | j                  t        ||t
               | j                  t        |d	d
       | j                  t        |dd
       y )Nr8   rE   )r   r   r9   rE      rG   r   r   r9   r   r   r   )r   list_appendr#   r(   r)   r*   )r   appendr+   s      r   test_list_appendzCAPITest.test_list_append   s    &&sBm,sQFq!QQF34+vsD9+vr15+vr15r   c           	      T   t         j                  }g d}| j                   ||t        d      g        | j                   ||dd      g        | j                   ||dt              g        | j                   ||dd      ddg       | j                   ||dt        |            |       | j                   ||dd      |       | j                   ||dd      |       | j                  t        |ddd       | j                  t        |d	dd       | j                  t        |d
dd       y )Nr8   r   r!   r9   r   r   d   abcr   )r   list_getslicer#   r<   r=   rV   r(   r)   )r   getslicer+   s      r   test_list_getslicezCAPITest.test_list_getslice   s   ** 	#~q92>#r1-r2#q.92> 	#q!,q!f5 	#q#c(3S9#q#.4#tS137+xAqA+x1=+xQ:r   c           
      n    t         j                   fd} j                   |g ddt        d            t        d              j                   |g t        t        t        d            t        d              j                   |g t
        t
        t        d            t        d             t        d      } j                   ||dddg      t        d              j                   ||ddt        d            t        d              j                   ||t        |      t        |      dg      t        d	             t        d      } j                   ||d
dt        d            t        d              j                   ||ddt        d            t        d              j                   ||ddt        d            t        d              j                   ||ddt        d            t        d             t        d      } j                   ||dt        |      g       g         j                   ||d
dg       g         j                   ||ddg       t        d              j                   ||dt        |      g       t        d             t        d      } j                   ||dt        |      t              g         j                   ||dt        |      t              t        d              j                  t        dddg         j                  t        dddg        y )Nc                 ^    | j                         } j                   | |||      d       | S Nr   )copyr#   )r+   lowhighvaluer   setslices       r   	set_slicez.CAPITest.test_list_setslice.<locals>.set_slice   s.    ((*CXc3e<a@Jr   r   ra   XXabcr   XYaXYbcabcXr`   Xbcr   aXcr9   aXYXYZabcdefr_   rG   afr   r   )
r   list_setslicer#   r&   r<   r=   rV   r*   r(   r)   )r   rm   r+   rl   s   `  @r   test_list_setslicezCAPITest.test_list_setslice   s   **	 	2q!T%[94;G2~~tE{SUYZ_U`a2~~tE{SUYZ_U`a5k31se4d6lC31d4j94=I3C#c(SEBDLQ 5k3ac;T%[I31d3i8$u+F31d4j94;G31d5k:DKH 8n33s8R8"=3c26;31b14:>33s8R8$u+F 8n33s8T:B?33s8T:DKH+xQ2>+xQ2>r   c                    t         j                  }g d} ||       | j                  |t        t	        d                   t        g d      } ||       | j                  |t        t	        d                   | j                  t        |d       | j                  t        |t                      | j                  t        |t               y )N)
rZ         r9   r   rG   	   r   r      rE   r   )
r   	list_sortr#   r&   ranger   r(   r)   r   r*   )r   sortr+   r,   s       r   test_list_sortzCAPITest.test_list_sort   s    "",S	d59o.:;T
tE"I/+tR0+tVX6+tT2r   c                 >    t         j                   fd} j                   |g       g         j                   |g d      g d        j                  t        d        j                  t        t                       j                  t        t               y )Nc                 8    j                   |       d       | S rg   )r#   )r+   reverser   s    r   list_reversez0CAPITest.test_list_reverse.<locals>.list_reverse  s    WS\1-Jr   r   rG   rE   )rE   rG   r   r   )r   r   r#   r(   r)   r   r*   )r   r   r   s   ` @r   test_list_reversezCAPITest.test_list_reverse   sw    ((	 	b)2.j1:>+w3+w9+w5r   c                 *   t         j                  }| j                   |g       d       | j                   |g d      d       | j                  t        |d       | j                  t        |t                      | j                  t        |t               y )Nr   r   )r   list_astupler#   r(   r)   r   r*   )r   astuples     r   test_list_astuplezCAPITest.test_list_astuple  sn    ((b),j9+w3+w9+w5r   N)r   r	   r
   r   r   r-   r3   r6   r?   rC   rJ   rN   rX   r]   rd   rz   r   r   r   r   r   r   r   r      sS    	**	578; 6>"2=,
6;0&?T3 66r   r   )unittestsystest.supportr   collectionsr   import_moduler   r*   r<   r=   r&   r   TestCaser   r   r   r   <module>r      s^     
 &  'M''4	))))	4 	F6x   F6r   