a
    kh                     @   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g dddgtddgg dks`J th d	ddhtg dddgksJ td
dd} tdd}t| |tg dddgksJ t| |htt| |ksJ t| |ht| |ksJ d S )Nc                   S   s   t g dS )N)   r      r    r   r   W/var/www/auris/lib/python3.9/site-packages/sympy/combinatorics/tests/test_partitions.py<lambda>       z,test_partition_constructor.<locals>.<lambda>c                   S   s   t g dg dS )Nr   r      )r   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   r   r   r   )r
   
ValueErrorr   r   abr   r   r   test_partition_constructor
   s    ((
 r    c                  C   s  ddl m}  tg ddg}tddgddg}t| g}|||g}|jtd ||||gks`J |jd	d
 d ||||gksJ ||kdu sJ ||ksJ ||kdu sJ ||ksJ ||k sJ |d jddgddggksJ |d jg ddggksJ |d jg dgksJ |d jg ddggks:J |d jddgdgdggks\J |jdkslJ |jdks|J |jdksJ |jdksJ d S )Nr   )xr   r   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   r   r   r   )r   r   r   r   )Z	sympy.abcr!   r   sortr   	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g d} |  }tg d}tddddd}| |ks\J | j|jkslJ | jg d	ks~J | |kd
u sJ | |ksJ | |kd
u sJ | |ksJ tddD ]}t }t }t|g} dd t|D }t	|}t|D ]"}	|
|  |  } t|| j qt|D ]$}	|
|  |  } t|| j q(||ks\J ||ksJ qtg d dksJ tg dddksJ ttg ddksJ tg djg dksJ t tdd  tddgksJ tdg ddg dksJ 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   r   )r   r   r   r   F   c                 S   s   h | ]}t |qS r   )r   ).0pr   r   r   	<setcomp>N   r   z)test_integer_partition.<locals>.<setcomp>r   z###
##
#)r   r   r   ozooo
o
oz	[3, 1, 1])r   r   r   c                   S   s   t dS )N)r	   r   r   r   r   r   `   r   
   )r   r   r   r   r   r   )seed)r   r   r   r   r   )r
   r   r   Znext_lex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    


rA   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sVJ td	d	ksfJ td
dg dks|J tddg dksJ ttdddksJ d S )Nc                   S   s
   t ddS )Nr2   r   r   r   r   r   r   r   g   r   ztest_rgs.<locals>.<lambda>c                   S   s
   t ddS )Nr   r   rB   r   r   r   r   r   h   r   c                   S   s
   t ddS )Nr3   r   rB   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   rC   r   r   r   r   r   l   r   r2   r   r      r   )r   r   r   r   r         )r   r   r   r   r   r   r   r   r   r   r   r   r   r   (   r+   )r
   r   r   r   r   r   r   r   r   test_rgsf   s    rH   c                  C   s>   t g ddg} t ddgddg}tt| |gtjs:J d S )Nr   r   r   r   r   )r   r   r   r   Z_infimum_keyr   r   r   r   test_ordered_partition_9608s   s    rI   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)   rA   rH   rI   r   r   r   r   <module>   s     -