from __future__ import annotations import pytest from openrgb_hue.client import LedRef from openrgb_hue.color import Color from openrgb_hue.scenes import Scene, SceneLight from openrgb_hue.targets import synthetic_targets @pytest.fixture def sample_scene() -> Scene: """A small hand-built scene with an intentional consecutive duplicate (light 2 and 3 share a color) so dedupe behavior is exercised.""" return Scene( name="Test Scene", lights=[ SceneLight("light.hue_1", Color(255, 0, 0), 255), SceneLight("light.hue_2", Color(0, 255, 0), 255), SceneLight("light.hue_3", Color(0, 255, 0), 255), SceneLight("light.hue_4", Color(0, 0, 255), 128), ], ) @pytest.fixture def synthetic_leds() -> list[LedRef]: return synthetic_targets(12) @pytest.fixture def matrix_leds() -> list[LedRef]: return [led for led in synthetic_targets() if led.matrix_row is not None]