Files
RFP_Infinity-Vis/Infinity_Vis_1/tests/test_mapping_xml.py

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