
    F\h$                          S SK r  " S S5      rg)    Nc                       \ rS rSrSrS rSrg)ASTTestMixin   z3Test mixing to have basic assertions for AST nodes.c                    ^ ^ T R                  U[        R                  5        T R                  U[        R                  5        [        5       4U U4S jjmT" X5        g )Nc                 z  > [        U 5      [        U5      La*  TR                  [        U 5      < S[        U5      < 35        [        U [        R                  5      (       a:  U R
                   H)  n[        XU5      n[        XU5      nXELd  M!  T" XE5        M+     g [        U [        5      (       a   [        XSS9 H  u  pgT" Xg5        M     g X:w  a  TR                  U < SU< 35        g g ! [         aC    [        U 5      n[        U5      n	X:  a  Sn
X-
  nOSn
X-
  nU
 SU S3nTR                  U5      S ef = f)	Nz is not T)strictFirstSecondz list contains z additional elements.z != )typefail
isinstanceastAST_fieldsgetattrlistzip
ValueErrorlenfailureException)abmissingfieldvalue1value2node1node2len1len2whatdiffmsgselftraverse_compares                ./usr/lib/python3.13/test/support/ast_helper.pyr%   5ASTTestMixin.assertASTEqual.<locals>.traverse_compare   s1   Awd1g%		T!WKxQ{;<!SWW%%YYE$Qw7F$Qw7F +(8 ' At$$?(+A(>(6 )? 		QEaU+,  " ?q6Dq6D{&#{'#{!F/$7LMC//4$>?s   2C- -AD:)assertIsInstancer   r   object)r$   ast1ast2r%   s   `  @r&   assertASTEqualASTTestMixin.assertASTEqual   sF    dCGG,dCGG,
 ,28 	- 	-: 	$     N)__name__
__module____qualname____firstlineno____doc__r,   __static_attributes__r/   r.   r&   r   r      s
    =%%r.   r   )r   r   r/   r.   r&   <module>r6      s    
(% (%r.   