class TestBezier2: bezier_default = geo.Bezier2(next_point=geo.Point2(3, 2), handle1=geo.Vector2(1, 0), handle2=geo.Vector2(0, 1)) bezier_other = geo.Bezier2(next_point=geo.Point2(2, 3), handle1=geo.Vector2(0, 1), handle2=geo.Vector2(1, 0)) def test_constructor(self): assert self.bezier_default.next_point == geo.Point2(3, 2) assert self.bezier_default.handle1 == geo.Vector2(1, 0) assert self.bezier_default.handle2 == geo.Vector2(0, 1) def test_copy(self): bezier = copy(self.bezier_default) assert bezier == self.bezier_default assert bezier is not self.bezier_default def test_repr(self): assert (str(self.bezier_default) == 'Bezier2(handle1=<1.00, 0.00>, ' 'handle2=<0.00, 1.00>, ' 'next_point=<3.00, 2.00>)') def test_ne(self): assert self.bezier_default != self.bezier_other
class TestArc2: arc_default = geo.Arc2(center=geo.Point2(3, 2), radius=2, start=0, end=math.pi) arc_other = geo.Arc2(center=geo.Point2(-1, 3), radius=1, start=2 / math.pi, end=math.pi) def test_constructor(self): assert self.arc_default.center == geo.Point2(3, 2) assert self.arc_default.radius == 2 assert self.arc_default.start == 0 assert self.arc_default.end == math.pi def test_copy(self): arc = copy(self.arc_default) assert arc == self.arc_default assert arc is not self.arc_default def test_repr(self): assert (str(self.arc_default) == 'Arc2(<3.00, 2.00>, radius=2.00, start=0.00, end=3.14)') def test_ne(self): assert self.arc_default != self.arc_other
class TestLineSegment2: line_default = geo.LineSegment2(geo.Point2(1, 1), geo.Point2(3, 1)) def test_magnitude_squared(self): assert self.line_default.magnitude_squared() == 4 def test_repr(self): assert (str( self.line_default) == 'LineSegment2(<1.00, 1.00> to <3.00, 1.00>)') def test_abs(self): assert abs(self.line_default) == 2 def test_length(self): assert self.line_default.length == 2
class TestCircle: circle_default = geo.Circle(geo.Point2(3, 2), 2) circle_other = geo.Circle(geo.Point2(-1, 3), 1) def test_constructor(self): assert self.circle_default.center == geo.Point2(3, 2) assert self.circle_default.radius == 2 def test_copy(self): circle = copy(self.circle_default) assert circle == self.circle_default assert circle is not self.circle_default def test_repr(self): assert str(self.circle_default) == 'Circle(<3.00, 2.00>, radius=2.00)' def test_ne(self): assert self.circle_default != self.circle_other
class TestLine2: line_default = geo.Line2(geo.Point2(1, 1), geo.Point2(3, 1)) line_other = geo.Line2(geo.Point2(2, 1), geo.Point2(2, 3)) def test_constructor(self): assert self.line_default.position == geo.Point2(1, 1) assert self.line_default.vector == geo.Vector2(2, 0) assert self.line_default.p1 == geo.Point2(1, 1) assert self.line_default.p2 == geo.Point2(3, 1) def test_copy(self): line_copy = self.line_default.copy() assert line_copy == self.line_default assert line_copy is not self.line_default def test_repr(self): assert str(self.line_default) == 'Line2(<1.00, 1.00> + u<2.00, 0.00>)' def test_ne(self): assert self.line_default != self.line_other
def test_lerp_vector2_as_point2(): first = geo.Point2(0, 0) second = geo.Point2(1, 4) expected = geo.Point2(0.25, 1) actual = util.lerp_vector2(first, second, 0.25) assert actual == expected
def test_constructor(self): assert self.bezier_default.next_point == geo.Point2(3, 2) assert self.bezier_default.handle1 == geo.Vector2(1, 0) assert self.bezier_default.handle2 == geo.Vector2(0, 1)
def test_constructor(self): assert self.arc_default.center == geo.Point2(3, 2) assert self.arc_default.radius == 2 assert self.arc_default.start == 0 assert self.arc_default.end == math.pi
def test_constructor(self): assert self.line_default.position == geo.Point2(1, 1) assert self.line_default.vector == geo.Vector2(2, 0) assert self.line_default.p1 == geo.Point2(1, 1) assert self.line_default.p2 == geo.Point2(3, 1)
class TestRay2: line_default = geo.Ray2(geo.Point2(1, 1), geo.Point2(3, 1)) def test_repr(self): assert str(self.line_default) == 'Ray2(<1.00, 1.00> + u<2.00, 0.00>)'
def test_constructor(self): assert self.circle_default.center == geo.Point2(3, 2) assert self.circle_default.radius == 2