43 lines
1.7 KiB
Python
43 lines
1.7 KiB
Python
import unittest
|
|
|
|
from surveyladder.ladder import load_ladder_csv, load_ladder_xls, get_seed_points, LadderSegment, OffsetPoint
|
|
|
|
class TestGetSeedPoints(unittest.TestCase):
|
|
|
|
def test_get_seed_points(self):
|
|
ladder_segments = ([
|
|
LadderSegment("D", "F", 161.3, []),
|
|
LadderSegment("C", "G", 133.2, []),
|
|
LadderSegment("C", "F", 138.5, []),
|
|
LadderSegment("G", "F", 157.6, []),
|
|
LadderSegment("C", "D", 130.5, [])
|
|
])
|
|
points = get_seed_points(ladder_segments)
|
|
self.assertEqual(len(points), 4)
|
|
for seg in ladder_segments:
|
|
start_point = points[seg.start_label]
|
|
end_point = points[seg.end_label]
|
|
actual_distance = ((start_point[0] - end_point[0]) ** 2 + (start_point[1] - end_point[1]) ** 2) ** 0.5
|
|
self.assertAlmostEqual(actual_distance, seg.distance, places=1)
|
|
|
|
|
|
class TestLadder(unittest.TestCase):
|
|
|
|
def test_load_ladder_xls(self):
|
|
self.maxDiff = None
|
|
segments = load_ladder_xls("tests/data/ladder.xlsx")
|
|
self.assertEqual(segments, ([
|
|
LadderSegment('A', 'B', 120.0, [OffsetPoint("1", 100.0, 3.0), OffsetPoint("2", 90.0, 4.0), OffsetPoint("3", 80.0, -5.0)]),
|
|
LadderSegment('C', 'D', 30.0, [OffsetPoint("4", 20.0, 6.0)])
|
|
]))
|
|
|
|
def test_load_ladder_csv(self):
|
|
self.maxDiff = None
|
|
segments = load_ladder_csv("tests/data/ladder.csv")
|
|
self.assertEqual(segments, ([
|
|
LadderSegment('A', 'B', 120.0, [OffsetPoint("1", 100.0, 3.0), OffsetPoint("2", 90.0, 4.0), OffsetPoint("3", 80.0, -5.0)]),
|
|
LadderSegment('C', 'D', 30.0, [OffsetPoint("4", 20.0, 6.0)])
|
|
]))
|
|
|
|
unittest.main()
|