U
    9%e                     @   s   d dl mZmZ d dlmZmZmZmZmZm	Z	 d dl
mZ d dlmZ d dlmZmZ dd Zdd	 Zd
d Zdd Zdd ZdS )    )ordereddefault_sort_key)	PartitionIntegerPartitionRGS_enum
RGS_unrankRGS_rankrandom_integer_partition)raises)
partitions)Set	FiniteSetc                  C   s  t tdd  t tdd  t tdd  t tdd  tdddgd	d
gtd	d
gdddgksdttdddhd	d
htdddgd	d
gksttddd} td	d
}t| |tdddgd	d
gkstt| |htt| |kstt| |ht| |kstd S )Nc                   S   s   t dddgS )N      r    r   r   h/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/combinatorics/tests/test_partitions.py<lambda>       z,test_partition_constructor.<locals>.<lambda>c                   S   s   t dddgdddgS Nr   r         r   r   r   r   r   r      r   c                   S   s   t dddS )Nr   r   r   r   r   r   r   r   r      r   c                   S   s   t ttd S Nr   )r   listranger   r   r   r   r      r   r   r   r   r      )r
   
ValueErrorr   AssertionErrorr   abr   r   r   test_partition_constructor
   s    ,,
"r!   c                  C   s  ddl m}  tdddgdg}tddgddg}t| g}|||g}|jtd ||||gksbt|jdd	 d ||||gkst||kd
kst||kst||kd
kst||kst||k st|d jddgddggkst|d jdddgdggkst|d jddddggks$t|d jdddgdggksDt|d jddgdgdggksft|jdksvt|jdkst|jdkst|jdkstd S )Nr   )xr   r   r   r   )keyc                 S   s   t | ddS )Nzrev-lex)order)r   )wr   r   r   r   "   r   z test_partition.<locals>.<lambda>F)r   r   r   r   )r   r   r   r   )	Z	sympy.abcr"   r   sortr   r   	partitionZrankZRGS)r"   r   r    clr   r   r   test_partition   s.    

  "r*   c            
      C   s<  t tdd  t tdd  tddddg} |  }tdddg}tddddd}| |ks`t| j|jkspt| jdd	d	dgkst| |kd
kst| |kst| |kd
kst| |ksttddD ]}t }t }t|g} dd t	|D }t
|}t|D ]$}	||  |  } t|| j qt|D ]$}	||  |  } t|| j q2||ksft||kstqtdd	dg dksttdddgddkstttdddgdksttdddgjdddgkstt tdd  tddgksttdddd	dddgddd	dddgks8td S )Nc                   S   s   t ttdS r   r   r   r   r   r   r   r   r   ;   r   z(test_integer_partition.<locals>.<lambda>c                   S   s   t dttddS )Nd   r   r   r+   r   r   r   r   r   =   r      r   r   r   )r   r   r   r   F   c                 S   s   h | ]}t |qS r   )r   ).0pr   r   r   	<setcomp>N   s     z)test_integer_partition.<locals>.<setcomp>z###
##
#ozooo
o
oz	[3, 1, 1]c                   S   s   t dS )N)r	   r   r   r   r   r   `   r   
   r   )seed)r
   r   r   Znext_lexr   integer	conjugater   setr   lenaddr'   Zprev_lexZ
as_ferrersstrr	   )
r   r    r(   dinextprevZansnjr   r   r   test_integer_partition9   sL    


 rB   c                   C   s   t tdd  t tdd  t tdd  t tdd  t tdd  tddksVttd	d	ksfttd
dddd	ddgksttddddddddddddd	dddgkstttdddkstd S )Nc                   S   s
   t ddS )Nr3   r   r   r   r   r   r   r   g   r   ztest_rgs.<locals>.<lambda>c                   S   s
   t ddS )Nr   r   rC   r   r   r   r   r   h   r   c                   S   s
   t ddS )Nr4   r   rC   r   r   r   r   r   i   r   c                   S   s   t ttdttdS )Nr   r   r   Zfrom_rgsr   r   r   r   r   r   r   k   r   c                   S   s   t ttddttdS )Nr   r   r   rD   r   r   r   r   r   l   r   r3   r   r      r   r         (   r,   )r
   r   r   r   r   r   r   r   r   r   test_rgsf   s    .rI   c                  C   s@   t dddgdg} t ddgddg}tt| |gtjs<td S r   )r   r   r   r   Z_infimum_keyr   r   r   r   r   test_ordered_partition_9608s   s    rJ   N)Zsympy.core.sortingr   r   Zsympy.combinatorics.partitionsr   r   r   r   r   r	   Zsympy.testing.pytestr
   Zsympy.utilities.iterablesr   Zsympy.sets.setsr   r   r!   r*   rB   rI   rJ   r   r   r   r   <module>   s     -