<s> from __future__ import division <EOL> from sympy import Symbol , pi , sqrt <EOL> from sympy . geometry import Circle , Ellipse , Line , Point , Polygon , Ray , RegularPolygon , Segment , Triangle <EOL> from sympy . geometry . entity import scale <EOL> from sympy . utilities . pytest import raises <EOL> def test_subs ( ) : <EOL> x = Symbol ( '<STR_LIT:x>' , real = True ) <EOL> y = Symbol ( '<STR_LIT:y>' , real = True ) <EOL> p = Point ( x , <NUM_LIT:2> ) <EOL> q = Point ( <NUM_LIT:1> , <NUM_LIT:1> ) <EOL> r = Point ( <NUM_LIT:3> , <NUM_LIT:4> ) <EOL> for o in [ p , <EOL> Segment ( p , q ) , <EOL> Ray ( p , q ) , <EOL> Line ( p , q ) , <EOL> Triangle ( p , q , r ) , <EOL> RegularPolygon ( p , <NUM_LIT:3> , <NUM_LIT:6> ) , <EOL> Polygon ( p , q , r , Point ( <NUM_LIT:5> , <NUM_LIT:4> ) ) , <EOL> Circle ( p , <NUM_LIT:3> ) , <EOL> Ellipse ( p , <NUM_LIT:3> , <NUM_LIT:4> ) ] : <EOL> assert '<STR_LIT:y>' in str ( o . subs ( x , y ) ) <EOL> assert p . subs ( { x : <NUM_LIT:1> } ) == Point ( <NUM_LIT:1> , <NUM_LIT:2> ) <EOL> assert Point ( <NUM_LIT:1> , <NUM_LIT:2> ) . subs ( Point ( <NUM_LIT:1> , <NUM_LIT:2> ) , Point ( <NUM_LIT:3> , <NUM_LIT:4> ) ) == Point ( <NUM_LIT:3> , <NUM_LIT:4> ) <EOL> assert Point ( <NUM_LIT:1> , <NUM_LIT:2> ) . subs ( ( <NUM_LIT:1> , <NUM_LIT:2> ) , Point ( <NUM_LIT:3> , <NUM_LIT:4> ) ) == Point ( <NUM_LIT:3> , <NUM_LIT:4> ) <EOL> assert Point ( <NUM_LIT:1> , <NUM_LIT:2> ) . subs ( Point ( <NUM_LIT:1> , <NUM_LIT:2> ) , Point ( <NUM_LIT:3> , <NUM_LIT:4> ) ) == Point ( <NUM_LIT:3> , <NUM_LIT:4> ) <EOL> assert Point ( <NUM_LIT:1> , <NUM_LIT:2> ) . subs ( { ( <NUM_LIT:1> , <NUM_LIT:2> ) } ) == Point ( <NUM_LIT:2> , <NUM_LIT:2> ) <EOL> raises ( ValueError , lambda : Point ( <NUM_LIT:1> , <NUM_LIT:2> ) . subs ( <NUM_LIT:1> ) ) <EOL> raises ( ValueError , lambda : Point ( <NUM_LIT:1> , <NUM_LIT:1> ) . subs ( ( Point ( <NUM_LIT:1> , <NUM_LIT:1> ) , Point ( <NUM_LIT:1> , <EOL> <NUM_LIT:2> ) ) , <NUM_LIT:1> , <NUM_LIT:2> ) ) <EOL> def test_transform ( ) : <EOL> assert scale ( <NUM_LIT:1> , <NUM_LIT:2> , ( <NUM_LIT:3> , <NUM_LIT:4> ) ) . tolist ( ) == [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , - <NUM_LIT:4> , <NUM_LIT:1> ] ] <EOL> def test_reflect_entity_overrides ( ) : <EOL> x = Symbol ( '<STR_LIT:x>' , real = True ) <EOL> y = Symbol ( '<STR_LIT:y>' , real = True ) <EOL> b = Symbol ( '<STR_LIT:b>' ) <EOL> m = Symbol ( '<STR_LIT:m>' ) <EOL> l = Line ( ( <NUM_LIT:0> , b ) , slope = m ) <EOL> p = Point ( x , y ) <EOL> r = p . reflect ( l ) <EOL> c = Circle ( ( x , y ) , <NUM_LIT:3> ) <EOL> cr = c . reflect ( l ) <EOL> assert cr == Circle ( r , - <NUM_LIT:3> ) <EOL> assert c . area == - cr . area <EOL> pent = RegularPolygon ( ( <NUM_LIT:1> , <NUM_LIT:2> ) , <NUM_LIT:1> , <NUM_LIT:5> ) <EOL> l = Line ( ( <NUM_LIT:0> , pi ) , slope = sqrt ( <NUM_LIT:2> ) ) <EOL> rpent = pent . reflect ( l ) <EOL> assert rpent . center == pent . center . reflect ( l ) <EOL> assert str ( [ w . n ( <NUM_LIT:3> ) for w in rpent . vertices ] ) == ( <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' <EOL> '<STR_LIT>' ) <EOL> assert pent . area . equals ( - rpent . area ) </s>
