File: test_distance.py

package info (click to toggle)
python-beziers 0.6.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 672 kB
  • sloc: python: 3,160; makefile: 20
file content (31 lines) | stat: -rw-r--r-- 867 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import unittest
from beziers.path.geometricshapes import Circle
from beziers.point import Point
from beziers.path import BezierPath


def drawIt(s, c, segs):
    import matplotlib.pyplot as plt

    fig, ax = plt.subplots()
    s.plot(ax, drawNodes=False)
    c.plot(ax)
    for s in segs:
        BezierPath.fromSegments([s]).plot(ax, drawNodes=False, color="red")
    plt.show()


class DistanceMethods(unittest.TestCase):
    def test_distance(self):
        p1 = Circle(50)
        p2 = Circle(50, origin=Point(200, 0))
        d = p1.distanceToPath(p2)
        # drawIt(p1, p2, [d[3], d[4]])
        self.assertAlmostEqual(d[0], 100)

    def test_distance2(self):
        p1 = Circle(50)
        p2 = Circle(50, origin=Point(100, 100))
        d = p1.distanceToPath(p2)
        # drawIt(p1, p2, [d[3], d[4]])
        self.assertAlmostEqual(d[0], 41.4531774254)