o
    jg                     @   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s0J th d	ddhtg dddgksDJ td
dd} tdd}t| |tg dddgks_J t| |htt| |ksnJ t| |ht| |ks{J d S )Nc                   S   s   t g dS )N)   r      r    r   r   a/var/www/html/zoom/venv/lib/python3.10/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      s    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
   
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s0J |jd	d
 d ||||gksAJ ||kdu sIJ ||ksOJ ||kdu sWJ ||ks]J ||k scJ |d jddgddggksrJ |d jg ddggksJ |d jg dgksJ |d jg ddggksJ |d jddgdgdggksJ |jdksJ |jdksJ |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   )	sympy.abcr"   r   sortr   	partitionrank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s6J | jg d	ks?J | |kd
u sGJ | |ksMJ | |kd
u sUJ | |ks[J tddD ]R}t }t }t|g} dd t|D }t	|}t|D ]}	|
|  |  } t|| j q~t|D ]}	|
|  |  } t|| j q||ksJ ||ksJ q`t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   F   c                 S   s   h | ]}t |qS r   )r   ).0pr   r   r   	<setcomp>N   r0   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   `   s    
   )r   r   r   r   r   r   )seed)r   r   r   r   r   )r
   r   r   next_lexinteger	conjugater   setr   lenaddr(   prev_lex
as_ferrersstrr	   )
r   r    r+   dinextprevansnjr   r   r   test_integer_partition9   sL   


rJ   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s+J td	d	ks3J td
dg dks>J tddg dksIJ ttdddksTJ d S )Nc                   S   
   t ddS )Nr7   r   r   r   r   r   r   r   g      
 ztest_rgs.<locals>.<lambda>c                   S   rK   )Nr   r   rL   r   r   r   r   r   h   rM   c                   S   rK   )Nr8   r   rL   r   r   r   r   r   i   rM   c                   S   s   t ttdttdS )Nr   r   r   from_rgsr   r   r   r   r   r   r   k   s    c                   S   s   t ttddttdS )Nr   r   r   rN   r   r   r   r   r   l   s    r7   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   rT   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   _infimum_keyr   r   r   r   test_ordered_partition_9608s   s   rV   N)sympy.core.sortingr   r   sympy.combinatorics.partitionsr   r   r   r   r   r	   sympy.testing.pytestr
   sympy.utilities.iterablesr   sympy.sets.setsr   r   r!   r-   rJ   rT   rV   r   r   r   r   <module>   s      -