test_receive.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. import unittest.mock
  2. import pytest
  3. import cc1101
  4. # pylint: disable=protected-access
  5. def test__enable_receive_mode(transceiver):
  6. transceiver._spi.xfer.return_value = [15]
  7. transceiver._enable_receive_mode()
  8. transceiver._spi.xfer.assert_called_once_with([0x34 | 0x00])
  9. @pytest.mark.parametrize("data", [b"\0", b"\x12\x45\x56"])
  10. def test__get_received_packet(transceiver, data):
  11. fifo_buffer = list(data) + [128, (1 << 7) | 42]
  12. with unittest.mock.patch.object(
  13. transceiver, "_read_status_register", return_value=len(fifo_buffer)
  14. ) as read_status_register, unittest.mock.patch.object(
  15. transceiver, "_read_burst", return_value=fifo_buffer
  16. ) as read_burst_mock:
  17. received_packet = transceiver._get_received_packet()
  18. read_status_register.assert_called_once_with(0x3B)
  19. read_burst_mock.assert_called_once_with(
  20. start_register=0x3F, length=len(fifo_buffer)
  21. )
  22. assert received_packet.data == data
  23. assert received_packet._rssi_index == 128
  24. assert received_packet.checksum_valid
  25. assert received_packet.link_quality_indicator == 42