Add Infinity_Vis_1 performance core
This commit is contained in:
48
Infinity_Vis_1/tests/test_renderer.py
Normal file
48
Infinity_Vis_1/tests/test_renderer.py
Normal file
@@ -0,0 +1,48 @@
|
||||
import unittest
|
||||
|
||||
from Infinity_Vis_1.infinity_vis_1.models import MappingSpec, PatternParams, SceneState, SegmentSpec, TileSpec
|
||||
from Infinity_Vis_1.infinity_vis_1.renderer import FastRenderer
|
||||
|
||||
|
||||
class RendererTests(unittest.TestCase):
|
||||
def _mapping(self) -> MappingSpec:
|
||||
return MappingSpec(
|
||||
name="test",
|
||||
rows=1,
|
||||
cols=2,
|
||||
tiles=[
|
||||
TileSpec(
|
||||
tile_id="r1c1",
|
||||
row=1,
|
||||
col=1,
|
||||
led_total=2,
|
||||
controller_ip="192.168.0.10",
|
||||
segments=[SegmentSpec(name="all", side="top", start_channel=1, led_count=2)],
|
||||
),
|
||||
TileSpec(
|
||||
tile_id="r1c2",
|
||||
row=1,
|
||||
col=2,
|
||||
led_total=2,
|
||||
controller_ip="192.168.0.10",
|
||||
segments=[SegmentSpec(name="all", side="top", start_channel=1, led_count=2)],
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
def test_shared_ip_tiles_produce_one_controller_payload(self) -> None:
|
||||
renderer = FastRenderer(self._mapping())
|
||||
scene = SceneState(pattern_id="solid", params=PatternParams(primary_color="#FF0000"))
|
||||
frame = renderer.render(scene, timestamp=1.0)
|
||||
self.assertEqual(list(frame.controller_payloads), ["192.168.0.10"])
|
||||
self.assertEqual(len(frame.controller_payloads["192.168.0.10"]), 12)
|
||||
|
||||
def test_blackout_utility_zeroes_payload(self) -> None:
|
||||
renderer = FastRenderer(self._mapping())
|
||||
scene = SceneState(pattern_id="solid", utility_mode="blackout")
|
||||
frame = renderer.render(scene, timestamp=1.0)
|
||||
self.assertEqual(frame.controller_payloads["192.168.0.10"], bytes(12))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user