28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from pathlib import Path
|
|
import unittest
|
|
|
|
from Infinity_Vis_1.infinity_vis_1.mapping_xml import load_mapping, load_mapping_from_string, mapping_to_xml_string
|
|
|
|
|
|
class MappingXmlTests(unittest.TestCase):
|
|
def test_load_sample_mapping(self) -> None:
|
|
path = Path(__file__).resolve().parents[2] / "sample_data" / "infinity_mirror_mapping_clean.xml"
|
|
mapping = load_mapping(path)
|
|
self.assertEqual(mapping.rows, 3)
|
|
self.assertEqual(mapping.cols, 6)
|
|
self.assertEqual(len(mapping.tiles), 18)
|
|
self.assertEqual(mapping.tiles[0].led_total, 106)
|
|
|
|
def test_round_trip_preserves_tile_count(self) -> None:
|
|
path = Path(__file__).resolve().parents[2] / "sample_data" / "infinity_mirror_mapping_clean.xml"
|
|
mapping = load_mapping(path)
|
|
xml_text = mapping_to_xml_string(mapping)
|
|
restored = load_mapping_from_string(xml_text)
|
|
self.assertEqual(len(restored.tiles), len(mapping.tiles))
|
|
self.assertEqual(restored.rows, mapping.rows)
|
|
self.assertEqual(restored.cols, mapping.cols)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|