summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/__init__.py10
-rw-r--r--tests/location.py11
2 files changed, 20 insertions, 1 deletions
diff --git a/tests/__init__.py b/tests/__init__.py
index aed3dc6..5616c23 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -1,6 +1,6 @@
import unittest
import os
-from tests import parsing, errors
+from tests import parsing, errors, location
class TestParsing(unittest.TestCase):
def test_all(self) -> None:
@@ -18,6 +18,14 @@ class TestErrors(unittest.TestCase):
with self.subTest(file):
errors.test_path(self, f'{test_dir}/{file}')
+class TestLocation(unittest.TestCase):
+ def test_all(self) -> None:
+ test_dir = '../tests/location'
+ for file in os.listdir(test_dir):
+ if not file.endswith('.locations.pom'): continue
+ with self.subTest(file):
+ location.test_path(self, f'{test_dir}/{file}')
+
if __name__ == '__main__':
unittest.main()
diff --git a/tests/location.py b/tests/location.py
new file mode 100644
index 0000000..cdac8e7
--- /dev/null
+++ b/tests/location.py
@@ -0,0 +1,11 @@
+import pom_parser
+import unittest
+
+def test_path(tester: unittest.TestCase, loc_path: str) -> None:
+ conf_path = loc_path.replace('.locations.pom', '.pom')
+ locs = pom_parser.load_path(loc_path)
+ conf = pom_parser.load_path(conf_path)
+ for item in conf.items():
+ expected = locs.get_uint(item.key)
+ tester.assertTrue(expected is not None)
+ tester.assertEqual(expected, item.line, f'Incorrect line number for {item.key}')