U
    hJ	                     @   sP   d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 dd Z
dd	 Zd
S )    Rational)egyptian_fraction)Add)raises)random_complex_numberc                   C   s  dXdd} t dddddd}| |s(tttdd	d
dddgksFtttdddddgksbtttdddd
ddddgkstttdddddddddgkstttd
ddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<gks tttd
dd=dddd>d?gks$tttd
d@d=dAdBdCdDdEgksHtttdFdG  ttd dHd=dddHdd
dddIdJdKdLdMdNdOgkstttdPdQdddHdd
ddd d!d"dRddSdTdUdVdWgkstd S )YNGreedyc                 S   s   | t dd t| |D  kS )Nc                 S   s   g | ]}t d |qS )   r   .0i r   N/tmp/pip-unpacked-wheel-6t8vlncq/sympy/ntheory/tests/test_egyptian_fraction.py
<listcomp>
   s     zAtest_egyptian_fraction.<locals>.test_equality.<locals>.<listcomp>)r   r   )rZalgr   r   r   test_equality	   s    z-test_egyptian_fraction.<locals>.test_equalityr   r	   T)acbdZrational            i  iq`.                e   %   i  i- l   8,C    
Takenouchi      #   i  io	  Graham Jewett   	   
   *   +   ,   -   8   9   :   H   I   Z   i  i  i  id  ie  i  ix  iy  i  i  i1 i1 i1 it6 i l   Q&Golomb      y      i  i  i  i-  c                   S   s   t tddS )Nr(   )r   r   r   r   r   r   <lambda>       z(test_egyptian_fraction.<locals>.<lambda>      i>  i
  i<  iF-  i&  i ic  q         i  i l   _cEl   Pny)r   )r   AssertionErrorr   r   r   
ValueError)r   r   r   r   r   test_egyptian_fraction   sf    
"            
$$          rC   c                  C   s   dt ddt dt dff} dD ]Z}| D ]P}t||}tdd |D sLt|dkrh|ddd	gksxtq(|dd
gks(tq(q tt dd}|ddd
gkrtdd |D std S )N)r   r<   r   r<   )r   r&   r"   r4   c                 s   s   | ]}|j V  qd S NZ
is_Integerr
   r   r   r   	<genexpr>*   s     ztest_input.<locals>.<genexpr>r&   r   r$   r#   r   r	   c                 s   s   | ]}|j V  qd S rD   rE   r
   r   r   r   rF   1   s     )r   r   allrA   )r   mr   r   r   r   r   
test_input%   s    
rI   N)Zsympy.core.numbersr   Zsympy.ntheory.egyptian_fractionr   Zsympy.core.addr   Zsympy.testing.pytestr   Zsympy.core.randomr   rC   rI   r   r   r   r   <module>   s   