
    X-Ph?                    l    d dl mZ d dlZd dlmZmZmZmZmZm	Z	 d dl
mZ  G d dej                  ZdS )    )annotationsN)RStructbool_rprimitiveint32_rprimitiveint64_rprimitiveint_rprimitiveobject_rprimitive)is_runtime_subtypec                  .    e Zd ZddZddZddZddZdS )	
TestStructreturnNonec                   t          dg t          t          t          g          }|j        dk    sJ |j        g dk    sJ t          dg t          t          g          }|j        dk    sJ |j        ddgk    sJ t          dg t          t          g          }t          dg t          t          g          }|j        ddgk    sJ |j        ddgk    sJ |j        dk    sJ |j        dk    sJ t          dg t          t          t          t          g          }|j        dk    sJ |j        g d	k    sJ t          dg t          |g          }|j        ddgk    sJ |j        d
k    sJ t          dg t          |g          }|j        ddgk    sJ |j        dk    sJ t          dg t          |g          }|j        ddgk    sJ |j        dk    sJ d S )N    )r            r      r   r   )r   r   r   r             )r   r   r   r   sizeoffsets)	selfrr1r2r3r4r5r6r7s	            V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mypyc/test/test_struct.pytest_struct_offsetszTestStruct.test_struct_offsets   s   B_.>@PQRRv||||yIII%%%% Ro?@@w!||||zaV####R.@AAR.@AAzaV####zaV####w!||||w"}}}}RoQabccw!||||z\\\)))) Roq122zaV####w"}}}}R.344zaV####w"}}}}Ror233zaV####w"}}}}}}    c                   t          dddgt          t          g          }t          |          dk    sJ t	          |          dk    sJ t          ddgt
          g          }t          |          dk    sJ t	          |          d	k    sJ t          d
g g           }t          |          dk    sJ t	          |          dk    sJ d S )NFooabzFoo{a:bool, b:object}zK<RStruct Foo{a:<RPrimitive builtins.bool>, b:<RPrimitive builtins.object>}>Barcz
Bar{c:i32}z!<RStruct Bar{c:<RPrimitive i32>}>BazzBaz{}z<RStruct Baz{}>)r   r   r	   strreprr   )r   r   r   r   s       r$   test_struct_strzTestStruct.test_struct_str2   s    EC:9J'KLL1vv00000GG / / / / / USE$4#5662ww,&&&&Bxx>>>>>UB##2ww'!!!!Bxx,,,,,,,r&   c                N   t          dddgt          t          g          }t          dddgt          t          g          }t          dddgt          t          g          }t          dddgt          t          g          }t          dddgt          t          g          }t          dg d	t          t          t          g          }t	          ||          d
u sJ t	          ||          du sJ t	          ||          du sJ t	          ||          du sJ t	          ||          du sJ d S )Nr(   r)   r*   r+   r,   r-   FooBar	FooBarBaz)r)   r*   r,   TF)r   r   r   r   r
   )r   r   r   r   r   r    r!   s          r$   test_runtime_subtypezTestStruct.test_runtime_subtype@   s?   EC:'HII US#J.(IJJ US#J.(IJJ US#J.(IJJ XSzO=M+NOO ?NO*\
 
 ""a((D0000!"a((E1111!"a((E1111!"a((E1111!"a((E111111r&   c                   t          dddgt          t          g          }t          dddgt          t          g          }t          |          t          |          k    sJ ||k    sJ t          dddgt          t          g          }t          |          t          |          k    sJ ||k    sJ t          dddgt          t          g          }t          |          t          |          k    sJ ||k    sJ t          dddgt          t          t          g          }t          |          t          |          k    sJ ||k    sJ d S )Nr(   r)   r*   Foqr,   )r   r   r   hash)r   r   r   r   r   r    s         r$   test_eq_and_hashzTestStruct.test_eq_and_hash[   s:   EC:'HII US#J.(IJJAww$r((""""Bwwww US#J.(IJJAww$r((""""Bwwww US#J.(IJJAww$r((""""Bwwww US#J./(Z[[Aww$r((""""Bwwwwwwr&   N)r   r   )__name__
__module____qualname__r%   r0   r4   r8    r&   r$   r   r      se           B- - - -2 2 2 26     r&   r   )
__future__r   unittestmypyc.ir.rtypesr   r   r   r   r   r	   mypyc.rt_subtyper
   TestCaser   r<   r&   r$   <module>rB      s    " " " " " "                 0 / / / / /` ` ` ` `" ` ` ` ` `r&   