zerzhang пре 3 недеља
родитељ
комит
6d9ba406e2
1 измењених фајлова са 21 додато и 0 уклоњено
  1. 21 0
      tests/test_relay_switch.py

+ 21 - 0
tests/test_relay_switch.py

@@ -5,6 +5,7 @@ from bleak.backends.device import BLEDevice
 
 from switchbot import SwitchBotAdvertisement, SwitchbotEncryptedDevice, SwitchbotModel
 from switchbot.devices import relay_switch
+from switchbot.devices.device import _merge_data as merge_data
 
 from .test_adv_parser import generate_ble_device
 
@@ -423,3 +424,23 @@ async def test_verify_encryption_key(mock_parent_verify, model):
     )
 
     assert result is True
+
+@pytest.mark.parametrize(
+    ("old_data", "new_data", "expected_result"),
+    [
+        (
+            {"isOn": True, "sequence_number": 1},
+            {"isOn": False},
+            {"isOn": False, "sequence_number": 1}
+        ),
+        (
+            {1: {"current": 0, "voltage": 220, "power": 0}, 2: {"current": 1, "voltage": 0, "power": 10}},
+            {1: {"current": 1, "power": 10}, 2: {"current": 0, "voltage": 220}},
+            {1: {"current": 1, "voltage": 220, "power": 10}, 2: {"current": 0, "voltage": 220, "power": 10}}
+        )
+    ],
+)
+def test_merge_data(old_data, new_data, expected_result):
+    """Test merging of data dictionaries."""
+    result = merge_data(old_data, new_data)
+    assert result == expected_result