Files
surveyladder/tests/test_ladder.py
T
2026-08-07 19:59:27 +05:30

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()