1import unittest
2from beziers.path.geometricshapes import Circle
3from beziers.point import Point
4from beziers.path import BezierPath
5
6
7def drawIt(s, c, segs):
8    import matplotlib.pyplot as plt
9
10    fig, ax = plt.subplots()
11    s.plot(ax, drawNodes=False)
12    c.plot(ax)
13    for s in segs:
14        BezierPath.fromSegments([s]).plot(ax, drawNodes=False, color="red")
15    plt.show()
16
17
18class DistanceMethods(unittest.TestCase):
19    def test_distance(self):
20        p1 = Circle(50)
21        p2 = Circle(50, origin=Point(200, 0))
22        d = p1.distanceToPath(p2)
23        # drawIt(p1, p2, [d[3], d[4]])
24        self.assertAlmostEqual(d[0], 100)
25
26    def test_distance2(self):
27        p1 = Circle(50)
28        p2 = Circle(50, origin=Point(100, 100))
29        d = p1.distanceToPath(p2)
30        # drawIt(p1, p2, [d[3], d[4]])
31        self.assertAlmostEqual(d[0], 41.4531774254)
32