Browse Source

added test for `set/get_packet_length_bytes`

Fabian Peter Hammerle 3 years ago
parent
commit
272fc8e680
2 changed files with 26 additions and 0 deletions
  1. 11 0
      tests/conftest.py
  2. 15 0
      tests/test_cc1101.py

+ 11 - 0
tests/conftest.py

@@ -0,0 +1,11 @@
+import unittest.mock
+
+import pytest
+
+import cc1101
+
+
+@pytest.fixture
+def transceiver():
+    with unittest.mock.patch("spidev.SpiDev"):
+        return cc1101.CC1101()

+ 15 - 0
tests/test_cc1101.py

@@ -71,3 +71,18 @@ def test__symbol_rate_real_to_floating_point(mantissa, exponent, real):
         mantissa,
         exponent,
     )
+
+
+def test_get_packet_length_bytes(transceiver):
+    xfer_mock = transceiver._spi.xfer
+    xfer_mock.return_value = [0, 8]
+    assert transceiver.get_packet_length_bytes() == 8
+    xfer_mock.assert_called_once_with([0x06 | 0x80, 0])
+
+
+@pytest.mark.parametrize("packet_length", [21])
+def test_set_packet_length_bytes(transceiver, packet_length):
+    xfer_mock = transceiver._spi.xfer
+    xfer_mock.return_value = [15, 15]
+    transceiver.set_packet_length_bytes(packet_length)
+    xfer_mock.assert_called_once_with([0x06 | 0x40, packet_length])