|
1 | | -import pybind11_rdp as m |
| 1 | +from pybind11_rdp import LineSegment, rdp |
2 | 2 |
|
3 | 3 |
|
4 | | -def test_main(): |
5 | | - assert m.rdp([[1, 1], [2, 2], [3, 3], [4, 4]]).shape == (2, 2) |
| 4 | +def test_segment(): |
| 5 | + seg = LineSegment([0, 0, 0], [10, 0, 0]) |
| 6 | + assert 4.0 == seg.distance([5.0, 4.0, 0.0]) |
| 7 | + assert 5.0 == seg.distance([-4.0, 3.0, 0.0]) |
| 8 | + assert 5.0 == seg.distance([14.0, 3.0, 0.0]) |
| 9 | + seg = LineSegment([0, 0, 0], [0, 0, 0]) |
| 10 | + assert 5.0 == seg.distance([3.0, 4.0, 0.0]) |
| 11 | + assert 5.0 == seg.distance([-4.0, 3.0, 0.0]) |
| 12 | + assert 13.0 == seg.distance([5.0, 12.0, 0.0]) |
| 13 | + |
| 14 | + |
| 15 | +def test_rdp(): |
| 16 | + assert rdp([[1, 1], [2, 2], [3, 3], [4, 4]], epsilon=1e-9).shape == (2, 2) |
| 17 | + assert rdp([[0, 0], [5, 1 + 1e-3], [10, 0]], epsilon=1).shape == (3, 2) |
| 18 | + assert rdp([[0, 0], [5, 1 - 1e-3], [10, 0]], epsilon=1).shape == (2, 2) |
0 commit comments