
R_c           @   sl   d  d l  m Z d  d l m Z m Z m Z d  d l m Z d d l	 m
 Z
 m Z d e f d     YZ d S(	   i(   t   Decimal(   t   RoundComparisont   comparet   ShouldRaise(   t   TestCasei   (   t   PY2t   PY3t   Testsc           B   sv  e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z e d  Z d   Z d   Z d   Z d   Z e d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  d   Z! d   Z" d    Z# d!   Z$ d"   Z% d#   Z& d$   Z' d%   Z( d&   Z) d'   Z* RS((   c         C   s    |  j  d t d d  k  d  S(   NguWv?g~Ϛ?i   (   t
   assertTruet   R(   t   self(    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_yes_rhs
   s    c         C   s    |  j  t d d  d k  d  S(   Ng~Ϛ?i   guWv?(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_yes_lhs   s    c         C   s    |  j  d t d d  k  d  S(   Ngԗ?g~Ϛ?i   (   t   assertFalseR	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_no_rhs   s    c         C   s    |  j  t d d  d k  d  S(   Ng~Ϛ?i   gԗ?(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_no_lhs   s    c         C   s    |  j  d t d d  k  d  S(   NguWv?g~Ϛ?i   (   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_equal_yes_rhs   s    c         C   s    |  j  t d d  d k  d  S(   Ng~Ϛ?i   guWv?(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_equal_yes_lhs   s    c         C   s    |  j  d t d d  k  d  S(   Ngԗ?g~Ϛ?i   (   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_equal_no_rhs   s    c         C   s    |  j  t d d  d k  d  S(   Ng~Ϛ?i   gԗ?(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_equal_no_lhs   s    c         C   s&   |  j  d d d t d d  f  d  S(   Ni   i   guWv?g~Ϛ?i   (   i   i   guWv?(   t   assertEqualR	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_in_sequence_rhs"   s    	c         C   s&   |  j  d d t d d  f d  d  S(   Ni   i   g~Ϛ?i   guWv?(   i   i   guWv?(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_in_sequence_lhs&   s    c         C   s&   |  j  d d d t d d  f  d  S(   Ni   i   g??g~Ϛ?i   (   i   i   g??(   t   assertNotEqualR	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_equal_in_sequence_rhs*   s    	c         C   s&   |  j  d d t d d  f d  d  S(   Ni   i   g~Ϛ?i   g??(   i   i   g??(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_equal_in_sequence_lhs.   s    c         C   s*   t  t   d t d d  k Wd  QXd  S(   Nt   abcg~Ϛ?i   (   R   t	   TypeErrorR	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_numeric_rhs2   s    c         C   s*   t  t   t d d  d k Wd  QXd  S(   Ng~Ϛ?i   R   (   R   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_not_numeric_lhs6   s    c         C   s    t  d t t d d    d  S(   Ns   <R:0.12346 to 5 digits>g~Ϛ?i   (   R   t   reprR	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt	   test_repr:   s    c         C   s    t  d t t d d    d  S(   Ns   <R:0.12346 to 5 digits>g~Ϛ?i   (   R   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_str>   s    c         C   s5   t  r d } n d } t | t t d d    d  S(   Ns   <R:123500 to -2 digits>s   <R:123500.0 to -2 digits>i@ i(   R   R   R   R	   (   R
   t   expected(    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_str_negativeB   s    	sE   Cannot compare <R:0.12346 to 5 digits> with <class 'decimal.Decimal'>c      	   C   sB   t  |  j d t ' |  j t d  t d d  k  Wd  QXd  S(   Nt   unlesss   0.123457g~Ϛ?i   (   R   t   TYPE_ERROR_DECIMALR   R   R    R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt#   test_equal_yes_decimal_to_float_rhsM   s    c         C   sB   t  |  j d t ' |  j t d d  t d  k  Wd  QXd  S(   NR#   g~Ϛ?i   s   0.123457(   R   R$   R   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt#   test_equal_yes_decimal_to_float_lhsQ   s    c      	   C   sB   t  |  j d t ' |  j t d  t d d  k  Wd  QXd  S(   NR#   s   0.123453g~Ϛ?i   (   R   R$   R   R   R    R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt"   test_equal_no_decimal_to_float_rhsU   s    c         C   sB   t  |  j d t ' |  j t d d  t d  k  Wd  QXd  S(   NR#   g~Ϛ?i   s   0.123453(   R   R$   R   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt"   test_equal_no_decimal_to_float_lhsY   s    s;   Cannot compare <R:0.12346 to 5 digits> with <class 'float'>c      	   C   sB   t  |  j d t ' |  j d t t d  d  k  Wd  QXd  S(   NR#   guWv?s   0.123456i   (   R   t   TYPE_ERROR_FLOATR   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt#   test_equal_yes_float_to_decimal_rhsa   s    c         C   sB   t  |  j d t ' |  j t t d  d  d k  Wd  QXd  S(   NR#   s   0.123456i   guWv?(   R   R)   R   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt#   test_equal_yes_float_to_decimal_lhse   s    c      	   C   sB   t  |  j d t ' |  j d t t d  d  k  Wd  QXd  S(   NR#   gԗ?s   0.123456i   (   R   R)   R   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt"   test_equal_no_float_to_decimal_rhsi   s    c         C   sB   t  |  j d t ' |  j t t d  d  d k  Wd  QXd  S(   NR#   s   0.123456i   gԗ?(   R   R)   R   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt"   test_equal_no_float_to_decimal_lhsm   s    c         C   s0   t  t d t  d t d d  k Wd  QXd  S(   NR#   i   gzo ?i   (   R   R   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_integer_floatq   s    c         C   s0   t  t d t  t d d  d k Wd  QXd  S(   NR#   gzo ?i   i   (   R   R   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_float_integeru   s    c         C   s    |  j  d t d d  k  d  S(   Ni
   i   i(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt    test_equal_yes_integer_other_rhsy   s    c         C   s    |  j  t d d  d k  d  S(   Ni   ii
   (   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_yes_integer_lhs|   s    c         C   s    |  j  d t d d  k  d  S(   Ni
   i   i(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_no_integer_rhs   s    c         C   s    |  j  t d d  d k  d  S(   Ni   ii
   (   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_equal_no_integer_lhs   s    c         C   s    |  j  d t d d  k  d  S(   Ni   i    (   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt!   test_equal_integer_zero_precision   s    c         C   s    |  j  d t d d  k  d  S(   Ng-b@gZd;GY@i(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt!   test_equal_yes_negative_precision   s    c         C   s    |  j  d t d d  k  d  S(   Ng-b@gy&1b@i(   R   R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt    test_equal_no_negative_precision   s    c         C   s,   |  j  t d  t t d  d  k  d  S(   Ns   0.123457s   0.123456i   (   R   R    R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_decimal_yes_rhs   s    c         C   s,   |  j  t t d  d  t d  k  d  S(   Ns   0.123456i   s   0.123457(   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_decimal_yes_lhs   s    c         C   s,   |  j  t d  t t d  d  k  d  S(   Ns   0.123453s   0.123456i   (   R   R    R	   (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_decimal_no_rhs   s    c         C   s,   |  j  t t d  d  t d  k  d  S(   Ns   0.123456i   s   0.123453(   R   R	   R    (   R
   (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   test_decimal_no_lhs   s    (+   t   __name__t
   __module__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/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   (    (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyR      sT   																																							N(   t   decimalR    t   testfixturesR   R	   R   R   t   unittestR   t   compatR   R   R   (    (    (    s`   /var/www/syncserver/local/lib/python2.7/site-packages/testfixtures/tests/test_roundcomparison.pyt   <module>   s   