<s> from __future__ import division <EOL> from sympy . plotting . intervalmath import interval <EOL> from sympy . utilities . pytest import raises <EOL> def test_interval ( ) : <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:1> ) == interval ( <NUM_LIT:1> , <NUM_LIT:1> , is_valid = True ) ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:1> ) == interval ( <NUM_LIT:1> , <NUM_LIT:1> , is_valid = False ) ) == ( True , False ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:1> ) == interval ( <NUM_LIT:1> , <NUM_LIT:1> , is_valid = None ) ) == ( True , None ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT> ) == interval ( <NUM_LIT:1> , <NUM_LIT:2> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:0> , <NUM_LIT:1> ) == interval ( <NUM_LIT:2> , <NUM_LIT:3> ) ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:0> , <NUM_LIT:1> ) == interval ( <NUM_LIT:1> , <NUM_LIT:2> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) != interval ( <NUM_LIT:1> , <NUM_LIT:2> ) ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:3> ) != interval ( <NUM_LIT:2> , <NUM_LIT:3> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:3> ) != interval ( - <NUM_LIT:5> , - <NUM_LIT:3> ) ) == ( True , True ) <EOL> assert ( <EOL> interval ( <NUM_LIT:1> , <NUM_LIT:3> , is_valid = False ) != interval ( - <NUM_LIT:5> , - <NUM_LIT:3> ) ) == ( True , False ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:3> , is_valid = None ) != interval ( - <NUM_LIT:5> , <NUM_LIT:3> ) ) == ( None , None ) <EOL> assert ( interval ( <NUM_LIT:4> , <NUM_LIT:4> ) != <NUM_LIT:4> ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:1> ) == <NUM_LIT:1> ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:3> , is_valid = False ) == interval ( <NUM_LIT:1> , <NUM_LIT:3> ) ) == ( True , False ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:3> , is_valid = None ) == interval ( <NUM_LIT:1> , <NUM_LIT:3> ) ) == ( True , None ) <EOL> inter = interval ( - <NUM_LIT:5> , <NUM_LIT:5> ) <EOL> assert ( interval ( inter ) == interval ( - <NUM_LIT:5> , <NUM_LIT:5> ) ) == ( True , True ) <EOL> assert inter . width == <NUM_LIT:10> <EOL> assert <NUM_LIT:0> in inter <EOL> assert - <NUM_LIT:5> in inter <EOL> assert <NUM_LIT:5> in inter <EOL> assert interval ( <NUM_LIT:0> , <NUM_LIT:3> ) in inter <EOL> assert interval ( - <NUM_LIT:6> , <NUM_LIT:2> ) not in inter <EOL> assert - <NUM_LIT> not in inter <EOL> assert <NUM_LIT> not in inter <EOL> interb = interval ( - float ( '<STR_LIT>' ) , float ( '<STR_LIT>' ) ) <EOL> assert <NUM_LIT:0> in inter <EOL> assert inter in interb <EOL> assert interval ( <NUM_LIT:0> , float ( '<STR_LIT>' ) ) in interb <EOL> assert interval ( - float ( '<STR_LIT>' ) , <NUM_LIT:5> ) in interb <EOL> assert interval ( - <NUM_LIT> , <NUM_LIT> ) in interb <EOL> assert ( <EOL> - interval ( - <NUM_LIT:1> , - <NUM_LIT:2> , is_valid = False ) == interval ( <NUM_LIT:1> , <NUM_LIT:2> ) ) == ( True , False ) <EOL> raises ( ValueError , lambda : interval ( <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ) ) <EOL> def test_interval_add ( ) : <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) + interval ( <NUM_LIT:2> , <NUM_LIT:3> ) == interval ( <NUM_LIT:3> , <NUM_LIT:5> ) ) == ( True , True ) <EOL> assert ( <NUM_LIT:1> + interval ( <NUM_LIT:1> , <NUM_LIT:2> ) == interval ( <NUM_LIT:2> , <NUM_LIT:3> ) ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) + <NUM_LIT:1> == interval ( <NUM_LIT:2> , <NUM_LIT:3> ) ) == ( True , True ) <EOL> compare = ( <NUM_LIT:1> + interval ( <NUM_LIT:0> , float ( '<STR_LIT>' ) ) == interval ( <NUM_LIT:1> , float ( '<STR_LIT>' ) ) ) <EOL> assert compare == ( True , True ) <EOL> a = <NUM_LIT:1> + interval ( <NUM_LIT:2> , <NUM_LIT:5> , is_valid = False ) <EOL> assert a . is_valid is False <EOL> a = <NUM_LIT:1> + interval ( <NUM_LIT:2> , <NUM_LIT:5> , is_valid = None ) <EOL> assert a . is_valid is None <EOL> a = interval ( <NUM_LIT:2> , <NUM_LIT:5> , is_valid = False ) + interval ( <NUM_LIT:3> , <NUM_LIT:5> , is_valid = None ) <EOL> assert a . is_valid is False <EOL> a = interval ( <NUM_LIT:3> , <NUM_LIT:5> ) + interval ( - <NUM_LIT:1> , <NUM_LIT:1> , is_valid = None ) <EOL> assert a . is_valid is None <EOL> a = interval ( <NUM_LIT:2> , <NUM_LIT:5> , is_valid = False ) + <NUM_LIT:1> <EOL> assert a . is_valid is False <EOL> def test_interval_sub ( ) : <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) - interval ( <NUM_LIT:1> , <NUM_LIT:5> ) == interval ( - <NUM_LIT:4> , <NUM_LIT:1> ) ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) - <NUM_LIT:1> == interval ( <NUM_LIT:0> , <NUM_LIT:1> ) ) == ( True , True ) <EOL> assert ( <NUM_LIT:1> - interval ( <NUM_LIT:1> , <NUM_LIT:2> ) == interval ( - <NUM_LIT:1> , <NUM_LIT:0> ) ) == ( True , True ) <EOL> a = <NUM_LIT:1> - interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = False ) <EOL> assert a . is_valid is False <EOL> a = interval ( <NUM_LIT:1> , <NUM_LIT:4> , is_valid = None ) - <NUM_LIT:1> <EOL> assert a . is_valid is None <EOL> a = interval ( <NUM_LIT:1> , <NUM_LIT:3> , is_valid = False ) - interval ( <NUM_LIT:1> , <NUM_LIT:3> ) <EOL> assert a . is_valid is False <EOL> a = interval ( <NUM_LIT:1> , <NUM_LIT:3> , is_valid = None ) - interval ( <NUM_LIT:1> , <NUM_LIT:3> ) <EOL> assert a . is_valid is None <EOL> def test_interval_inequality ( ) : <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) < interval ( <NUM_LIT:3> , <NUM_LIT:4> ) ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) < interval ( <NUM_LIT:2> , <NUM_LIT:4> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) < interval ( - <NUM_LIT:2> , <NUM_LIT:0> ) ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) <= interval ( <NUM_LIT:2> , <NUM_LIT:4> ) ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) <= interval ( <NUM_LIT> , <NUM_LIT:6> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:2> , <NUM_LIT:3> ) <= interval ( <NUM_LIT:1> , <NUM_LIT:2> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:2> , <NUM_LIT:3> ) <= interval ( <NUM_LIT:1> , <NUM_LIT> ) ) == ( False , True ) <EOL> assert ( <EOL> interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = False ) <= interval ( - <NUM_LIT:2> , <NUM_LIT:0> ) ) == ( False , False ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = None ) <= interval ( - <NUM_LIT:2> , <NUM_LIT:0> ) ) == ( False , None ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) <= <NUM_LIT> ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) <= <NUM_LIT:3> ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) <= <NUM_LIT:0> ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:5> , <NUM_LIT:8> ) > interval ( <NUM_LIT:2> , <NUM_LIT:3> ) ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:2> , <NUM_LIT:5> ) > interval ( <NUM_LIT:1> , <NUM_LIT:3> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:2> , <NUM_LIT:3> ) > interval ( <NUM_LIT> , <NUM_LIT:5> ) ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:3> , <NUM_LIT:5> ) > <NUM_LIT:2> ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:3> , <NUM_LIT:5> ) < <NUM_LIT:2> ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:5> ) < <NUM_LIT:2> ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:5> ) > <NUM_LIT:2> ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:0> , <NUM_LIT:1> ) > <NUM_LIT:2> ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) >= interval ( <NUM_LIT:0> , <NUM_LIT:1> ) ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) >= interval ( <NUM_LIT:0> , <NUM_LIT> ) ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) >= interval ( <NUM_LIT:3> , <NUM_LIT:4> ) ) == ( False , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) >= <NUM_LIT:0> ) == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) >= <NUM_LIT> ) == ( None , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:2> ) >= <NUM_LIT:3> ) == ( False , True ) <EOL> assert ( <NUM_LIT:2> > interval ( <NUM_LIT:0> , <NUM_LIT:1> ) ) == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> , is_valid = False ) < interval ( <NUM_LIT:2> , <NUM_LIT:5> , is_valid = None ) <EOL> assert a == ( True , False ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> , is_valid = None ) < interval ( <NUM_LIT:2> , <NUM_LIT:5> , is_valid = False ) <EOL> assert a == ( True , False ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> , is_valid = None ) < interval ( <NUM_LIT:2> , <NUM_LIT:5> , is_valid = None ) <EOL> assert a == ( True , None ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> , is_valid = False ) > interval ( - <NUM_LIT:5> , - <NUM_LIT:2> , is_valid = None ) <EOL> assert a == ( True , False ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> , is_valid = None ) > interval ( - <NUM_LIT:5> , - <NUM_LIT:2> , is_valid = False ) <EOL> assert a == ( True , False ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> , is_valid = None ) > interval ( - <NUM_LIT:5> , - <NUM_LIT:2> , is_valid = None ) <EOL> assert a == ( True , None ) <EOL> def test_interval_mul ( ) : <EOL> assert ( <EOL> interval ( <NUM_LIT:1> , <NUM_LIT:5> ) * interval ( <NUM_LIT:2> , <NUM_LIT:10> ) == interval ( <NUM_LIT:2> , <NUM_LIT:50> ) ) == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> ) * interval ( <NUM_LIT:2> , <NUM_LIT:10> ) == interval ( - <NUM_LIT:10> , <NUM_LIT:10> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> ) * interval ( - <NUM_LIT:5> , <NUM_LIT:3> ) == interval ( - <NUM_LIT:5> , <NUM_LIT:5> ) <EOL> assert a == ( True , True ) <EOL> assert ( interval ( <NUM_LIT:1> , <NUM_LIT:3> ) * <NUM_LIT:2> == interval ( <NUM_LIT:2> , <NUM_LIT:6> ) ) == ( True , True ) <EOL> assert ( <NUM_LIT:3> * interval ( - <NUM_LIT:1> , <NUM_LIT:2> ) == interval ( - <NUM_LIT:3> , <NUM_LIT:6> ) ) == ( True , True ) <EOL> a = <NUM_LIT:3> * interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = False ) <EOL> assert a . is_valid is False <EOL> a = <NUM_LIT:3> * interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = None ) <EOL> assert a . is_valid is None <EOL> a = interval ( <NUM_LIT:1> , <NUM_LIT:5> , is_valid = False ) * interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = None ) <EOL> assert a . is_valid is False <EOL> def test_interval_div ( ) : <EOL> div = interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = False ) / <NUM_LIT:3> <EOL> assert div == interval ( - float ( '<STR_LIT>' ) , float ( '<STR_LIT>' ) , is_valid = False ) <EOL> div = interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = None ) / <NUM_LIT:3> <EOL> assert div == interval ( - float ( '<STR_LIT>' ) , float ( '<STR_LIT>' ) , is_valid = None ) <EOL> div = <NUM_LIT:3> / interval ( <NUM_LIT:1> , <NUM_LIT:2> , is_valid = None ) <EOL> assert div == interval ( - float ( '<STR_LIT>' ) , float ( '<STR_LIT>' ) , is_valid = None ) <EOL> a = interval ( <NUM_LIT:1> , <NUM_LIT:2> ) / <NUM_LIT:0> <EOL> assert a . is_valid is False <EOL> a = interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) / interval ( - <NUM_LIT:1> , <NUM_LIT:0> ) <EOL> assert a . is_valid is None <EOL> a = interval ( <NUM_LIT:0> , <NUM_LIT:1> ) / interval ( <NUM_LIT:0> , <NUM_LIT:1> ) <EOL> assert a . is_valid is None <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:1> ) / interval ( - <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> assert a . is_valid is None <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:2> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( - <NUM_LIT> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( <NUM_LIT:0> , <NUM_LIT:1> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( <NUM_LIT:0.0> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:0> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( - <NUM_LIT> , <NUM_LIT:0.0> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:0.5> , - <NUM_LIT> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( - <NUM_LIT:1.0> , - <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( <NUM_LIT:0.5> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( <NUM_LIT:0.5> , <NUM_LIT:4> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( <NUM_LIT:0.5> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , - <NUM_LIT:0.5> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( - <NUM_LIT> , - <NUM_LIT:0.5> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:4> , - <NUM_LIT:0.5> ) / interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) == interval ( - <NUM_LIT> , - <NUM_LIT:0.5> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:2> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( - <NUM_LIT> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( <NUM_LIT:0> , <NUM_LIT:1> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( - <NUM_LIT> , <NUM_LIT:0.0> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , <NUM_LIT:0> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( <NUM_LIT:0.0> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:0.5> , - <NUM_LIT> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( <NUM_LIT> , <NUM_LIT:1.0> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( <NUM_LIT:0.5> , <NUM_LIT:1> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( - <NUM_LIT> , - <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( <NUM_LIT:0.5> , <NUM_LIT:4> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( - <NUM_LIT> , - <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:1> , - <NUM_LIT:0.5> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( <NUM_LIT> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:4> , - <NUM_LIT:0.5> ) / interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) == interval ( <NUM_LIT> , <NUM_LIT> ) <EOL> assert a == ( True , True ) <EOL> a = interval ( - <NUM_LIT:5> , <NUM_LIT:5> , is_valid = False ) / <NUM_LIT:2> <EOL> assert a . is_valid is False <EOL> def test_hashable ( ) : <EOL> '''<STR_LIT>''' <EOL> hash ( interval ( <NUM_LIT:1> , <NUM_LIT:1> ) ) <EOL> hash ( interval ( <NUM_LIT:1> , <NUM_LIT:1> , is_valid = True ) ) <EOL> hash ( interval ( - <NUM_LIT:4> , - <NUM_LIT:0.5> ) ) <EOL> hash ( interval ( - <NUM_LIT:2> , - <NUM_LIT:0.5> ) ) <EOL> hash ( interval ( <NUM_LIT> , <NUM_LIT> ) ) </s>
