U
    -e
                     @   sx   d Z ddlmZmZmZmZ ddlmZ ddlm	Z	m
Z
mZ dd Zdd Zd	Zi Zerdeee Zd
d Zdd ZdS )z*Test groups defined by the galois module.     )S4TransitiveSubgroupsS5TransitiveSubgroupsS6TransitiveSubgroupsfind_transitive_subgroups_of_S6)is_isomorphic)SymmetricGroupAlternatingGroupCyclicGroupc                  C   sX   t j } td}| |s t| jdks.t|  s:t|  dksJt| j	rTtd S )N   )
r   Vget_perm_groupr   is_subgroupAssertionErrordegreeis_transitiveorderZ	is_cyclic)GA4 r   f/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/combinatorics/tests/test_galois.pytest_four_group   s    
r   c                  C   sd   t j } td}td}| |s(t| |r6t| jdksDt|  sPt| 	 dks`td S )N      )
r   ZM20r   r   r   r   r   r   r   r   )r   ZS5ZA5r   r   r   test_M20   s    
r   Fc                 C   s    |   g}tr|t|   |S )N)r   INCLUDE_SEARCH_REPSappendS6_randomized)nameversr   r   r   get_versions_of_S6_subgroup+   s    
r   c                  C   s  t } td}| jddtddf| jddtddf| jddddf| jddddf| jddddf| j	dddtd	f| j
ddtd	df| jddddf| jdd
ddf| jdd
ddf| jddddf| jddddf| jddddf| jddddf| jddddf| jddddffD ]\}}}}}t|D ]v}| s(t|jdks8t|||ksLt| |ks^t|rtt||stt|rt||rtqq dS )zQ
    Test enough characteristics to distinguish all 16 transitive subgroups.
       FN      T      r
   $   0   <   H   x   ih  i  )r   r   ZC6r	   ZS3r   ZD6r   ZG18ZA4xC2ZS4mZS4pZG36mZG36pZS4xC2ZPSL2F5ZG72ZPGL2F5A6ZS6r   r   r   r   r   r   r   )tsr*   r   Zaltr   Zis_isomZnot_isomr   r   r   r   test_S6_transitive_subgroups2   s8    r,   N)__doc__Zsympy.combinatorics.galoisr   r   r   r   Z!sympy.combinatorics.homomorphismsr   Z sympy.combinatorics.named_groupsr   r   r	   r   r   r   r   listr   r,   r   r   r   r   <module>   s   
