
    9bh"                         d dl Z d dlZd dlmZ d dlmZ  ej                  d      ZeZdZ	ej                  Z
ej                  Z G d de      Z G d de j                        Zed	k(  r e j"                          yy)
    N)
namedtuple)import_helper	_testcapic                       e Zd Zy)TupleSubclassN)__name__
__module____qualname__     C/opt/python-3.12.12/usr/lib/python3.12/test/test_capi/test_tuple.pyr   r      s    r   r   c                   T    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y)CAPITestc                    t         j                  }| j                   |d             | j                   |d             | j                   |t        d                   | j	                   |ddi             | j	                   |ddg             | j	                   |d             | j	                   |t                            y N      r   r   r   *   )_testlimitedcapituple_check
assertTruer   assertFalseobjectselfchecks     r   
test_checkzCAPITest.test_check   s     ,,f&b	"mF3451v'1v'r#vx)r   c                    t         j                  }| j                   |d             | j                   |d             | j                   |t	        d                   | j                   |ddi             | j                   |ddg             | j                   |d             | j                   |t                            y r   )r   tuple_checkexactr   r   r   r   r   s     r   test_tuple_checkexactzCAPITest.test_tuple_checkexact    s     11f&b	"}V4561v'1v'r#vx)r   c                 r   t         j                  }t         j                  }t        j                  } |d      }| j                  |d       | j                   ||      d       | j                  t        |      t                |d      }| j                  t        |      t               | j                   ||      d       | j                  ||       | j                   ||d             | j                  t        |d       | j                  t        |t               | j                  t        |t               y )Nr   r   r   )r   	tuple_new
tuple_sizer   _check_tuple_item_is_NULLassertEqualassertIstypetupleassertIsNotr   assertRaisesSystemErrorPY_SSIZE_T_MINMemoryErrorPY_SSIZE_T_MAX)r   r$   size	checknulltup1tup2s         r   test_tuple_newzCAPITest.test_tuple_new.   s    $..	**77	|r"dQ'd4j%(|d4j%(dQ't$	$*++y"5+y.A+y.Ar   c                 f   t         j                  }| j                   |d      d       | j                   |ddg      dgf       | j                   |ddgdg      dgdgf       | j                  t        |t
               | j                  t        |d       | j                  t        |t               y )Nr   r   r   r   r#   )r   
tuple_packr'   r,   r-   r.   r/   r0   )r   packs     r   test_tuple_packzCAPITest.test_tuple_packB   s    **a"%a!v.a!qc*aS1#J7+t^<+tR0+t^<r   c                 `   t         j                  }| j                   |d      d       | j                   |d      d       | j                   |t        d            d       | j	                  t
        |g        | j	                  t
        |d       | j	                  t
        |t                      y )Nr   r   r   r   r   )r   r%   r'   r   r,   r-   r   r   r1   s     r   test_tuple_sizezCAPITest.test_tuple_sizeQ   s    **b1%fq)mF34a8+tR0+tR0+tVX6r   c                     t         j                  }| j                   |d      d       | j                   |d      d       | j                   |t        d            d       y )Nr   r   r   r   )r   tuple_get_sizer'   r   r;   s     r   test_tuple_get_sizezCAPITest.test_tuple_get_size_   sO    ''b1%fq)mF34a8r   c                 l   t         j                  }dgdgdgf}| j                   ||d      dg       | j                   ||d      dg       t        dgdgdgf      }| j                   ||d      dg       | j                   ||d      dg       | j	                  t
        ||t               | j	                  t
        ||d       | j	                  t
        ||t        |             | j	                  t
        ||t               | j	                  t        |g dd       | j	                  t        |dd       y )Nr   r      r   r#   r   r   rA   r   )
r   tuple_getitemr'   r   r,   
IndexErrorr.   lenr0   r-   )r   getitemtupr4   s       r   test_tuple_getitemzCAPITest.test_tuple_getitemg   s   "00sQC!oa1#.a1#.qcA3_-q)A3/q)A3/*gsNC*gsB7*gsCH=*gsNC+w	1=+wA6r   c                 &   t         j                  }dgdgdgf}| j                   ||d      dg       | j                   ||d      dg       t        dgdgdgf      }| j                   ||d      dg       | j                   ||d      dg       y )Nr   r   rA   r   )r   tuple_get_itemr'   r   )r   get_itemrG   r4   s       r   test_tuple_get_itemzCAPITest.test_tuple_get_item|   s    ++sQC!o#q)A3/#q)A3/qcA3_-$*QC0$*QC0r   c                 
   t         j                  }dgdgdgf}| j                   ||t        d      d       | j                   ||dd      d       | j                   ||dt              d       | j                   ||dd      d       | j                   ||dd      d       t        dgdgdgf      }| j                   ||t        d      d       | j                   ||dd      d       | j                   ||dt              d       | j                   ||dd      d       | j                   ||dd      d       dgdgdgdgf}| j                   ||dd      dgdgf       t        dgdgdgdgf      }| j                   ||dd      dgdgf       dgdgdgf}| j                   ||dd      |       | j                   ||dd      |       | j                   ||d	d      |       t        dgdgdgf      }| j                   ||dd      |       | j                   ||dd      |       | j                   ||d	d      |       | j                  t        |dgdgdggdd       | j                  t        |d
dd       y )Nr   r   rA   r   r   r#      d   ir   )r   tuple_getslicer'   r.   r0   r   r,   r-   )r   getslicerG   s      r   test_tuple_getslicezCAPITest.test_tuple_getslice   s   #22 sQC!o#~q92>#r1-r2#q.92>#q!,b1#q!,b1aS1#sO,#~q92>#r1-r2#q.92>#q!,b1#q!,b1 sQC!qc"#q!,sQCj9aS1#sQC01#q!,sQCj9 sQC!o#q!,c2#q#.4#tS137aS1#sO,#q!,c2#q#.4#tS137+x1#sQC!QG+xQ:r   c                    t         j                  }t        j                  }dgdgf}| j	                   ||dg       g dgf       | j	                   ||dg       dgg f        ||dt
              }| j                   ||d             t        dgdgf      }| j                  t        ||dg        | j                  t        ||t        g        | j                  t        ||dg        | j                  t        ||t        |      g        | j                  t        ||t        g        | j                  t        |dgdg        | j                  t        |ddg        y )Nr   r   r   r#   r   )r   tuple_setitemr   r&   r'   NULLr   r   r,   r-   rD   r.   rE   r0   )r   setitemr2   rG   r4   s        r   test_tuple_setitemzCAPITest.test_tuple_setitem   s6   "0077	sQCja,rA3i8a,sBi8sAt$	$*+qcA3Z(+wa<*gsNBG*gsB;*gsCHbA*gsNBG+wQ;+wAr:r   c                    t         j                  }t         j                  }dgdgf}| j                   ||dg       g dgf       | j                   ||dg       dgg f        ||dt              }| j                   ||d             t        dgdgf      }| j                   ||dg       |       | j                  |g dgf       y )Nr   r   r   )r   tuple_set_itemr&   r'   rU   r   r   r(   )r   set_itemr2   rG   r4   s        r   test_tuple_set_itemzCAPITest.test_tuple_set_item   s    ++77	sQCj#q"-QCy9#q"-Ry9Q%	$*+qcA3Z(htQ+T2QCy)r   c                 x   t         j                  }t         j                  }d} ||dd      }| j                  t	        |      d       | j                  t	        |      d        ||dd      }| j                  t	        |      d       | j                  t	        |      d       | j                   ||d             | j                   ||d             dgdgdgf} ||d      }| j                  ||        ||d      }| j                  ||d d         ||d      }| j                  t	        |      d       | j                  |d d |       | j                   ||d             | j                   ||d             d}| j                  t        ||t               | j                  t        ||d	       | j                  t        ||t               d
}| j                  t        ||dd       | j                  t        ||dd       | j                  t        |g d
dd       | j                  t        |t        dd       y )Nr   r   Fr   r   rA      rN   r#   rB   )r   _tuple_resizer&   r'   rE   r   r,   r/   r0   r-   r.   rU   )r   resizer2   abs        r   test__tuple_resizezCAPITest.test__tuple_resize   s   ((77	1aQ#Q#1aQ#Q#	!Q(	!Q(S1#sO1aLA1aLAbqE"1aLQ#2A"	!Q(	!Q(+vq.A+vq"5+vq.A+vq!U;+vq!U;+vy!UC+vtQ>r   N)r   r	   r
   r   r!   r5   r9   r<   r?   rH   rL   rR   rW   r[   rb   r   r   r   r   r      s@    
*
*B(
=
797*
1#;N;0**$?r   r   __main__)unittestsyscollectionsr   test.supportr   import_moduler   r   rU   r.   r0   r*   r   TestCaser   r   mainr   r   r   <module>rk      s     
 " &'M''4	 ))))	E 	q?x   q?f zHMMO r   