test_colormode_imports.py 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. """Test ColorMode imports for backward compatibility."""
  2. def test_colormode_import_from_main_module():
  3. """Test that ColorMode can be imported from the main switchbot module."""
  4. from switchbot import ColorMode # noqa: PLC0415
  5. # Verify it's the enum we expect
  6. assert hasattr(ColorMode, "OFF")
  7. assert hasattr(ColorMode, "COLOR_TEMP")
  8. assert hasattr(ColorMode, "RGB")
  9. assert hasattr(ColorMode, "EFFECT")
  10. # Verify the values
  11. assert ColorMode.OFF.value == 0
  12. assert ColorMode.COLOR_TEMP.value == 1
  13. assert ColorMode.RGB.value == 2
  14. assert ColorMode.EFFECT.value == 3
  15. def test_colormode_import_from_device_module():
  16. """Test that ColorMode can be imported from switchbot.devices.device for backward compatibility."""
  17. from switchbot.devices.device import ColorMode # noqa: PLC0415
  18. # Verify it's the enum we expect
  19. assert hasattr(ColorMode, "OFF")
  20. assert hasattr(ColorMode, "COLOR_TEMP")
  21. assert hasattr(ColorMode, "RGB")
  22. assert hasattr(ColorMode, "EFFECT")
  23. # Verify the values
  24. assert ColorMode.OFF.value == 0
  25. assert ColorMode.COLOR_TEMP.value == 1
  26. assert ColorMode.RGB.value == 2
  27. assert ColorMode.EFFECT.value == 3
  28. def test_colormode_import_from_const():
  29. """Test that ColorMode can be imported from switchbot.const."""
  30. from switchbot.const import ColorMode # noqa: PLC0415
  31. # Verify it's the enum we expect
  32. assert hasattr(ColorMode, "OFF")
  33. assert hasattr(ColorMode, "COLOR_TEMP")
  34. assert hasattr(ColorMode, "RGB")
  35. assert hasattr(ColorMode, "EFFECT")
  36. # Verify the values
  37. assert ColorMode.OFF.value == 0
  38. assert ColorMode.COLOR_TEMP.value == 1
  39. assert ColorMode.RGB.value == 2
  40. assert ColorMode.EFFECT.value == 3
  41. def test_colormode_import_from_const_light():
  42. """Test that ColorMode can be imported from switchbot.const.light."""
  43. from switchbot.const.light import ColorMode # noqa: PLC0415
  44. # Verify it's the enum we expect
  45. assert hasattr(ColorMode, "OFF")
  46. assert hasattr(ColorMode, "COLOR_TEMP")
  47. assert hasattr(ColorMode, "RGB")
  48. assert hasattr(ColorMode, "EFFECT")
  49. # Verify the values
  50. assert ColorMode.OFF.value == 0
  51. assert ColorMode.COLOR_TEMP.value == 1
  52. assert ColorMode.RGB.value == 2
  53. assert ColorMode.EFFECT.value == 3
  54. def test_all_colormode_imports_are_same_object():
  55. """Test that all ColorMode imports reference the same enum object."""
  56. from switchbot import ColorMode as ColorMode1 # noqa: PLC0415
  57. from switchbot.const import ColorMode as ColorMode3 # noqa: PLC0415
  58. from switchbot.const.light import ColorMode as ColorMode4 # noqa: PLC0415
  59. from switchbot.devices.device import ColorMode as ColorMode2 # noqa: PLC0415
  60. # They should all be the exact same object
  61. assert ColorMode1 is ColorMode2
  62. assert ColorMode2 is ColorMode3
  63. assert ColorMode3 is ColorMode4
  64. # And their members should be the same
  65. assert ColorMode1.OFF is ColorMode2.OFF
  66. assert ColorMode1.COLOR_TEMP is ColorMode3.COLOR_TEMP
  67. assert ColorMode1.RGB is ColorMode4.RGB
  68. assert ColorMode1.EFFECT is ColorMode2.EFFECT