<s> from pypy . objspace . std import floatobject as fobj <EOL> from pypy . objspace . std . objspace import FailedToImplement <EOL> import py <EOL> class TestW_FloatObject : <EOL> def test_pow_fff ( self ) : <EOL> x = <NUM_LIT> <EOL> y = <NUM_LIT> <EOL> z = <NUM_LIT> <EOL> f1 = fobj . W_FloatObject ( x ) <EOL> f2 = fobj . W_FloatObject ( y ) <EOL> f3 = fobj . W_FloatObject ( z ) <EOL> self . space . raises_w ( self . space . w_TypeError , <EOL> fobj . pow__Float_Float_ANY , <EOL> self . space , f1 , f2 , f3 ) <EOL> def test_pow_ffn ( self ) : <EOL> x = <NUM_LIT> <EOL> y = <NUM_LIT> <EOL> f1 = fobj . W_FloatObject ( x ) <EOL> f2 = fobj . W_FloatObject ( y ) <EOL> v = fobj . pow__Float_Float_ANY ( self . space , f1 , f2 , self . space . w_None ) <EOL> assert v . floatval == x ** y <EOL> f1 = fobj . W_FloatObject ( - <NUM_LIT> ) <EOL> f2 = fobj . W_FloatObject ( - <NUM_LIT> ) <EOL> self . space . raises_w ( self . space . w_ValueError , <EOL> fobj . pow__Float_Float_ANY , <EOL> self . space , f1 , f2 , <EOL> self . space . w_None ) <EOL> x = - <NUM_LIT:10> <EOL> y = <NUM_LIT> <EOL> f1 = fobj . W_FloatObject ( x ) <EOL> f2 = fobj . W_FloatObject ( y ) <EOL> v = fobj . pow__Float_Float_ANY ( self . space , f1 , f2 , self . space . w_None ) <EOL> assert v . floatval == x ** y <EOL> class AppTestAppFloatTest : <EOL> def test_negatives ( self ) : <EOL> assert - <NUM_LIT> < <NUM_LIT:0> <EOL> assert - <NUM_LIT:0.1> < <NUM_LIT:0> <EOL> def test_float_callable ( self ) : <EOL> assert <NUM_LIT> == float ( <NUM_LIT> ) <EOL> def test_float_int ( self ) : <EOL> assert <NUM_LIT> == float ( <NUM_LIT> ) <EOL> def test_float_hash ( self ) : <EOL> import math <EOL> assert hash ( <NUM_LIT> ) == <NUM_LIT> <EOL> assert hash ( <NUM_LIT> ) == <NUM_LIT> <EOL> assert hash ( math . ldexp ( <NUM_LIT> , <NUM_LIT:1000> ) ) in ( <EOL> <NUM_LIT:32> , <EOL> <NUM_LIT> ) <EOL> inf = <NUM_LIT> * <NUM_LIT> <EOL> assert hash ( inf ) == <NUM_LIT> <EOL> assert hash ( - inf ) == - <NUM_LIT> <EOL> x = hash ( inf / inf ) <EOL> assert x == hash ( inf / inf ) <EOL> def test_int_float ( self ) : <EOL> assert int ( <NUM_LIT> ) == <NUM_LIT> <EOL> assert int ( <NUM_LIT> ) == <NUM_LIT> L <EOL> def test_float_string ( self ) : <EOL> assert <NUM_LIT> == float ( "<STR_LIT>" ) <EOL> assert <NUM_LIT> == float ( "<STR_LIT>" ) <EOL> def test_float_unicode ( self ) : <EOL> assert <NUM_LIT> == float ( unichr ( <NUM_LIT> ) + unicode ( "<STR_LIT>" ) + unichr ( <NUM_LIT> ) ) <EOL> def test_float_long ( self ) : <EOL> assert <NUM_LIT> == float ( <NUM_LIT> L ) <EOL> assert <NUM_LIT> == float ( <NUM_LIT> L ) <EOL> raises ( OverflowError , float , <NUM_LIT:10> ** <NUM_LIT> ) <EOL> def test_round ( self ) : <EOL> assert <NUM_LIT:1.0> == round ( <NUM_LIT:1.0> ) <EOL> assert <NUM_LIT:1.0> == round ( <NUM_LIT> ) <EOL> assert <NUM_LIT> == round ( <NUM_LIT> ) <EOL> assert <NUM_LIT> == round ( <NUM_LIT> ) <EOL> assert - <NUM_LIT> == round ( - <NUM_LIT> ) <EOL> assert - <NUM_LIT> == round ( - <NUM_LIT> ) <EOL> assert - <NUM_LIT> == round ( - <NUM_LIT> , <NUM_LIT:0> ) <EOL> assert - <NUM_LIT> == round ( - <NUM_LIT> , <NUM_LIT:0> ) <EOL> assert <NUM_LIT> == round ( <NUM_LIT> , <NUM_LIT:1> ) <EOL> assert <NUM_LIT> == round ( <NUM_LIT> , - <NUM_LIT:1> ) <EOL> assert <NUM_LIT:0.0> == round ( <NUM_LIT> , - <NUM_LIT:2> ) <EOL> def test_special_float_method ( self ) : <EOL> class a ( object ) : <EOL> def __float__ ( self ) : <EOL> self . ar = True <EOL> return None <EOL> inst = a ( ) <EOL> raises ( TypeError , float , inst ) <EOL> assert inst . ar <EOL> class b ( object ) : <EOL> pass <EOL> raises ( ( AttributeError , TypeError ) , float , b ( ) ) <EOL> def test_getnewargs ( self ) : <EOL> assert <NUM_LIT:0.0> . __getnewargs__ ( ) == ( <NUM_LIT:0.0> , ) <EOL> def test_pow ( self ) : <EOL> def pw ( x , y ) : <EOL> return x ** y <EOL> def espeq ( x , y ) : <EOL> return not abs ( x - y ) > <NUM_LIT> <EOL> raises ( ZeroDivisionError , pw , <NUM_LIT:0.0> , - <NUM_LIT:1> ) <EOL> assert pw ( <NUM_LIT:0> , <NUM_LIT:0.5> ) == <NUM_LIT:0.0> <EOL> assert espeq ( pw ( <NUM_LIT> , <NUM_LIT:0.5> ) , <NUM_LIT> ) <EOL> assert pw ( <NUM_LIT> , <NUM_LIT:0> ) == <NUM_LIT:1.0> <EOL> assert pw ( - <NUM_LIT> , <NUM_LIT:0> ) == <NUM_LIT:1.0> <EOL> raises ( ValueError , pw , - <NUM_LIT:1.0> , <NUM_LIT:0.5> ) <EOL> assert pw ( - <NUM_LIT:1.0> , <NUM_LIT> ) == <NUM_LIT:1.0> <EOL> assert pw ( - <NUM_LIT:1.0> , <NUM_LIT> ) == - <NUM_LIT:1.0> <EOL> assert pw ( - <NUM_LIT:1.0> , <NUM_LIT> ) == <NUM_LIT:1.0> <EOL> def test_pow_neg_base ( self ) : <EOL> def pw ( x , y ) : <EOL> return x ** y <EOL> assert pw ( - <NUM_LIT> , <NUM_LIT> ) == <NUM_LIT:4> <EOL> def test_float_cmp ( self ) : <EOL> assert <NUM_LIT> == <NUM_LIT> <EOL> assert <NUM_LIT> != - <NUM_LIT> <EOL> assert <NUM_LIT> < <NUM_LIT> <EOL> assert <NUM_LIT> <= <NUM_LIT> <EOL> assert - <NUM_LIT> <= - <NUM_LIT> <EOL> assert <NUM_LIT> > <NUM_LIT> <EOL> assert <NUM_LIT> >= - <NUM_LIT> <EOL> verylonglong = <NUM_LIT:10> L ** <NUM_LIT> <EOL> infinite = <NUM_LIT> * <NUM_LIT> <EOL> assert <NUM_LIT> == <NUM_LIT:12> L <EOL> assert <NUM_LIT> == long ( <NUM_LIT> ) <EOL> assert <NUM_LIT> != <NUM_LIT:12> L <EOL> assert infinite != <NUM_LIT> L <EOL> assert <NUM_LIT> < <NUM_LIT> L <EOL> assert - infinite < - <NUM_LIT> L <EOL> assert <NUM_LIT> <= <NUM_LIT> L <EOL> assert <NUM_LIT> <= <NUM_LIT> L <EOL> assert <NUM_LIT> > <NUM_LIT> L <EOL> assert <NUM_LIT> >= <NUM_LIT> L <EOL> assert <NUM_LIT> >= <NUM_LIT> L <EOL> assert <NUM_LIT> == <NUM_LIT:12> <EOL> assert <NUM_LIT> != <NUM_LIT:12> <EOL> assert infinite != <NUM_LIT> <EOL> assert <NUM_LIT> < <NUM_LIT> <EOL> assert - infinite < - <NUM_LIT> <EOL> assert <NUM_LIT> <= <NUM_LIT> <EOL> assert <NUM_LIT> <= <NUM_LIT> <EOL> assert <NUM_LIT> > <NUM_LIT> <EOL> assert <NUM_LIT> >= <NUM_LIT> <EOL> assert <NUM_LIT> >= <NUM_LIT> <EOL> assert infinite > verylonglong <EOL> assert infinite >= verylonglong <EOL> assert <NUM_LIT> < verylonglong <EOL> assert <NUM_LIT> <= verylonglong <EOL> assert <NUM_LIT:12> L == <NUM_LIT> <EOL> assert long ( <NUM_LIT> ) == <NUM_LIT> <EOL> assert <NUM_LIT:12> L != <NUM_LIT> <EOL> assert <NUM_LIT> L != infinite <EOL> assert <NUM_LIT> L > <NUM_LIT> <EOL> assert - <NUM_LIT> L > - infinite <EOL> assert <NUM_LIT> L >= <NUM_LIT> <EOL> assert <NUM_LIT> L >= <NUM_LIT> <EOL> assert <NUM_LIT> L < <NUM_LIT> <EOL> assert <NUM_LIT> L <= <NUM_LIT> <EOL> assert <NUM_LIT> L <= <NUM_LIT> <EOL> assert verylonglong < infinite <EOL> assert verylonglong <= infinite <EOL> assert verylonglong > <NUM_LIT> <EOL> assert verylonglong >= <NUM_LIT> <EOL> assert <NUM_LIT> >= <NUM_LIT> <EOL> assert <NUM_LIT> >= <NUM_LIT> <EOL> assert <NUM_LIT> < <NUM_LIT> <EOL> assert <NUM_LIT> <= <NUM_LIT> <EOL> assert <NUM_LIT> <= <NUM_LIT> <EOL> def test_multimethod_slice ( self ) : <EOL> assert <NUM_LIT:5> . __add__ ( <NUM_LIT> ) is NotImplemented <EOL> assert <NUM_LIT> . __add__ ( <NUM_LIT:5> ) == <NUM_LIT> <EOL> if hasattr ( int , '<STR_LIT>' ) : <EOL> assert <NUM_LIT:5> . __eq__ ( <NUM_LIT> ) is NotImplemented <EOL> assert <NUM_LIT> . __eq__ ( <NUM_LIT:5> ) is False </s>
