Browse Source

added test for `_set_filter_bandwidth`

Fabian Peter Hammerle 3 years ago
parent
commit
c5da36f2e2
1 changed files with 22 additions and 0 deletions
  1. 22 0
      tests/test_config.py

+ 22 - 0
tests/test_config.py

@@ -113,6 +113,28 @@ def test__get_filter_bandwidth_hertz(transceiver, mdmcfg4, real):
     transceiver._spi.xfer.assert_called_once_with([0x10 | 0x80, 0])
 
 
+@pytest.mark.parametrize(
+    ("mdmcfg4_before", "mdmcfg4_after", "exponent", "mantissa"),
+    [
+        (0b00001010, 0b10111010, 0b10, 0b11),
+        (0b00001100, 0b01001100, 0b01, 0b00),
+        (0b00001100, 0b10111100, 0b10, 0b11),
+        (0b00001100, 0b11011100, 0b11, 0b01),
+        (0b01011100, 0b11011100, 0b11, 0b01),
+        (0b11111100, 0b11011100, 0b11, 0b01),
+    ],
+)
+def test__set_filter_bandwidth(
+    transceiver, mdmcfg4_before, mdmcfg4_after, exponent, mantissa
+):
+    transceiver._spi.xfer.return_value = [15, 15]
+    with unittest.mock.patch.object(
+        transceiver, "_read_single_byte", return_value=mdmcfg4_before
+    ):
+        transceiver._set_filter_bandwidth(mantissa=mantissa, exponent=exponent)
+    transceiver._spi.xfer.assert_called_once_with([0x10 | 0x40, mdmcfg4_after])
+
+
 @pytest.mark.parametrize(
     ("mdmcfg4", "symbol_rate_exponent"), [(0b1001100, 12), (0b10011001, 9)]
 )