|
@@ -0,0 +1,88 @@
|
|
|
+"""Test ColorMode imports for backward compatibility."""
|
|
|
+
|
|
|
+
|
|
|
+def test_colormode_import_from_main_module():
|
|
|
+ """Test that ColorMode can be imported from the main switchbot module."""
|
|
|
+ from switchbot import ColorMode
|
|
|
+
|
|
|
+ # Verify it's the enum we expect
|
|
|
+ assert hasattr(ColorMode, "OFF")
|
|
|
+ assert hasattr(ColorMode, "COLOR_TEMP")
|
|
|
+ assert hasattr(ColorMode, "RGB")
|
|
|
+ assert hasattr(ColorMode, "EFFECT")
|
|
|
+
|
|
|
+ # Verify the values
|
|
|
+ assert ColorMode.OFF.value == 0
|
|
|
+ assert ColorMode.COLOR_TEMP.value == 1
|
|
|
+ assert ColorMode.RGB.value == 2
|
|
|
+ assert ColorMode.EFFECT.value == 3
|
|
|
+
|
|
|
+
|
|
|
+def test_colormode_import_from_device_module():
|
|
|
+ """Test that ColorMode can be imported from switchbot.devices.device for backward compatibility."""
|
|
|
+ from switchbot.devices.device import ColorMode
|
|
|
+
|
|
|
+ # Verify it's the enum we expect
|
|
|
+ assert hasattr(ColorMode, "OFF")
|
|
|
+ assert hasattr(ColorMode, "COLOR_TEMP")
|
|
|
+ assert hasattr(ColorMode, "RGB")
|
|
|
+ assert hasattr(ColorMode, "EFFECT")
|
|
|
+
|
|
|
+ # Verify the values
|
|
|
+ assert ColorMode.OFF.value == 0
|
|
|
+ assert ColorMode.COLOR_TEMP.value == 1
|
|
|
+ assert ColorMode.RGB.value == 2
|
|
|
+ assert ColorMode.EFFECT.value == 3
|
|
|
+
|
|
|
+
|
|
|
+def test_colormode_import_from_const():
|
|
|
+ """Test that ColorMode can be imported from switchbot.const."""
|
|
|
+ from switchbot.const import ColorMode
|
|
|
+
|
|
|
+ # Verify it's the enum we expect
|
|
|
+ assert hasattr(ColorMode, "OFF")
|
|
|
+ assert hasattr(ColorMode, "COLOR_TEMP")
|
|
|
+ assert hasattr(ColorMode, "RGB")
|
|
|
+ assert hasattr(ColorMode, "EFFECT")
|
|
|
+
|
|
|
+ # Verify the values
|
|
|
+ assert ColorMode.OFF.value == 0
|
|
|
+ assert ColorMode.COLOR_TEMP.value == 1
|
|
|
+ assert ColorMode.RGB.value == 2
|
|
|
+ assert ColorMode.EFFECT.value == 3
|
|
|
+
|
|
|
+
|
|
|
+def test_colormode_import_from_const_light():
|
|
|
+ """Test that ColorMode can be imported from switchbot.const.light."""
|
|
|
+ from switchbot.const.light import ColorMode
|
|
|
+
|
|
|
+ # Verify it's the enum we expect
|
|
|
+ assert hasattr(ColorMode, "OFF")
|
|
|
+ assert hasattr(ColorMode, "COLOR_TEMP")
|
|
|
+ assert hasattr(ColorMode, "RGB")
|
|
|
+ assert hasattr(ColorMode, "EFFECT")
|
|
|
+
|
|
|
+ # Verify the values
|
|
|
+ assert ColorMode.OFF.value == 0
|
|
|
+ assert ColorMode.COLOR_TEMP.value == 1
|
|
|
+ assert ColorMode.RGB.value == 2
|
|
|
+ assert ColorMode.EFFECT.value == 3
|
|
|
+
|
|
|
+
|
|
|
+def test_all_colormode_imports_are_same_object():
|
|
|
+ """Test that all ColorMode imports reference the same enum object."""
|
|
|
+ from switchbot import ColorMode as ColorMode1
|
|
|
+ from switchbot.const import ColorMode as ColorMode3
|
|
|
+ from switchbot.const.light import ColorMode as ColorMode4
|
|
|
+ from switchbot.devices.device import ColorMode as ColorMode2
|
|
|
+
|
|
|
+ # They should all be the exact same object
|
|
|
+ assert ColorMode1 is ColorMode2
|
|
|
+ assert ColorMode2 is ColorMode3
|
|
|
+ assert ColorMode3 is ColorMode4
|
|
|
+
|
|
|
+ # And their members should be the same
|
|
|
+ assert ColorMode1.OFF is ColorMode2.OFF
|
|
|
+ assert ColorMode1.COLOR_TEMP is ColorMode3.COLOR_TEMP
|
|
|
+ assert ColorMode1.RGB is ColorMode4.RGB
|
|
|
+ assert ColorMode1.EFFECT is ColorMode2.EFFECT
|