Removed the subdir.
This commit is contained in:
56
pyrate/tests/plan/graph/generate/test_off_handler.py
Normal file
56
pyrate/tests/plan/graph/generate/test_off_handler.py
Normal file
@ -0,0 +1,56 @@
|
||||
"""Tests the Aptiprism OFF file handler."""
|
||||
|
||||
# Standard library
|
||||
import os.path
|
||||
|
||||
# Testing
|
||||
import unittest
|
||||
|
||||
# Scientific
|
||||
import numpy as np
|
||||
|
||||
# Module under test
|
||||
from pyrate.plan.graph.generate import _parse_off_file
|
||||
|
||||
|
||||
TEST_FILES_DIR = os.path.realpath(os.path.join(os.path.dirname(__file__), "example_files/"))
|
||||
TEST_FILES = [
|
||||
os.path.join(TEST_FILES_DIR, "geodestic_file_1.off"),
|
||||
os.path.join(TEST_FILES_DIR, "geodestic_file_2.off"),
|
||||
os.path.join(TEST_FILES_DIR, "geodesic_-M_s_-c_2_-f_2_ico.off"),
|
||||
]
|
||||
|
||||
|
||||
class TestOffHandler(unittest.TestCase):
|
||||
"""Tests the Aptiprism OFF file handler using some examples."""
|
||||
|
||||
def test_with_example_files(self):
|
||||
"""Tests the Aptiprism OFF file handler using three example files."""
|
||||
|
||||
for test_file in TEST_FILES:
|
||||
with self.subTest(f'Test file "{test_file}"'):
|
||||
|
||||
# test that it does not crash
|
||||
with open(test_file, "r", encoding="utf-8") as myfile:
|
||||
source = myfile.read()
|
||||
latitudes, longitudes, edges = _parse_off_file(source)
|
||||
|
||||
if "geodesic_-M_s_-c_2_-f_2_ico" in test_file:
|
||||
self.assertEqual(
|
||||
len(latitudes), 122, f"wrong total number of nodes: {len(latitudes)} instead of 122"
|
||||
)
|
||||
self.assertEqual(
|
||||
edges.shape[0], 360, f"wrong total number of edges: {edges.shape[0]} instead of 360"
|
||||
)
|
||||
|
||||
# the shapes of the returned arrays must match
|
||||
self.assertEqual(
|
||||
latitudes.shape, longitudes.shape, "latitude and longitude must have the same shape"
|
||||
)
|
||||
self.assertGreater(len(latitudes), 0, "no points found")
|
||||
|
||||
# the edges must be valid indices into the edges
|
||||
self.assertTrue(
|
||||
np.all(edges[:, :] >= 0) and np.all(edges[:, :] < len(latitudes)),
|
||||
"some edges reference non-existent points",
|
||||
)
|
Reference in New Issue
Block a user