def test_reverse(self): "" pl = Polyline3D(*points) self.assertEqual( pl.reverse, Polyline3D(Point3D(1, 1, 0), Point3D(0, 1, 0), Point3D(0, 0, 0)))
def test___eq__(self): "" pl = Polyline3D(*points) self.assertTrue(pl == pl) self.assertTrue(pl == Polyline3D(Point3D(1, 1, 0), Point3D(0, 1, 0), Point3D(0, 0, 0)))
def test_segments(self): "" pl = Polyline3D(*points) self.assertEqual( pl.segments, Segments(Segment3D(Point3D(0, 0, 0), Point3D(0, 1, 0)), Segment3D(Point3D(0, 1, 0), Point3D(1, 1, 0))))
def test_plot(self): "" if plot: pl = Polyline3D(*points) fig = plt.figure() ax = fig.add_subplot(111, projection='3d') pl.plot(ax)
def test_intersect_polyline(self): "" pv = PlaneVolume3D(P0, N) # single point intersection pl = Polyline3D(P0, P0 + N, Point3D(1, 0, 0) + N) self.assertEqual(pv.intersect_polyline(pl), (Points(Point3D(0, 0, 0)), Polylines())) # two point intersection pl = Polyline3D(P0, P0 + N, Point3D(1, 0, 0) + N, Point3D(1, 0, 0)) self.assertEqual( pv.intersect_polyline(pl), (Points(Point3D(0, 0, 0), Point3D(1, 0, 0)), Polylines())) # full intersection pl = Polyline3D(P0, P0 - N, Point3D(1, 0, 0) - N, Point3D(1, 0, 0)) self.assertEqual(pv.intersect_polyline(pl), (Points(), Polylines(pl)))
def test___contains__(self): "" pl = PlaneVolume3D(P0, N) # point self.assertTrue(P0 in pl) self.assertTrue(Point3D(10, 10, 0) in pl) self.assertFalse(Point3D(0, 0, 1) in pl) self.assertTrue(Point3D(0, 0, -1) in pl) # line self.assertTrue(Line3D(P0, Vector3D(1, 0, 0)) in pl) self.assertFalse(Line3D(P0 + N, Vector3D(1, 0, 0)) in pl) self.assertTrue(Line3D(P0 - N, Vector3D(1, 0, 0)) in pl) self.assertFalse(Line3D(P0, N) in pl) # polyline self.assertFalse(Polyline3D(P0, P0 + N, Point3D(1, 0, 0) + N) in pl) self.assertTrue( Polyline3D(P0, P0 - N, Point3D(1, 0, 0) - N, Point3D(1, 0, 0)) in pl)
def test_is_intersecting(self): "" pl = Polyline3D(*points) self.assertFalse(pl.is_intersecting)
def test___repr__(self): "" pl = Polyline3D(*points) self.assertEqual( str(pl), 'Polyline3D(Point3D(0,0,0),Point3D(0,1,0),Point3D(1,1,0))')
def test___init__(self): "" pl = Polyline3D(*points) self.assertIsInstance(pl, Polyline3D) self.assertEqual(pl.points, points)