コード例 #1
0
def test_incorrect_return_code(mock_class):
    spi = GPIO(channel=0, frequency=25000, library='wiringPi')
    spi.handle.wiringPiSPIDataRW = MagicMock()
    spi.handle.wiringPiSPIDataRW.return_value = -1
    data = bitstring.pack('uint:4', 1)
    with pytest.raises(SPIDataTransmissionError):
        spi.send_data(data)
コード例 #2
0
 def test_pins_read(self, mock_class):
     interface = GPIO(channel=0, frequency=25000, library='wiringPi')
     interface.read_pin([0, 1, 2])
     setup_calls = [call(0, 0), call(1, 0), call(2, 0)]
     interface.handle.pinMode.assert_has_calls(setup_calls)
     read_calls = [call(0), call(1), call(2)]
     interface.handle.digitalRead.assert_has_calls(read_calls)
コード例 #3
0
def test_transmission(mock_class):
    spi = GPIO(channel=0, frequency=25000, library='wiringPi')
    spi.handle.wiringPiSPIDataRW = MagicMock()
    spi.handle.wiringPiSPIDataRW.return_value = 0
    data = [1]
    spi.send_data(data)
    assert spi.handle.wiringPiSPIDataRW.called
コード例 #4
0
 def __init__(self, *args, **kwargs):
     self.channel = kwargs['channel']
     self.frequency = kwargs['frequency']
     self.gpio = GPIO(**kwargs)
     self.old_bit_string = None
     self.new_bit_string = None
     self.weather_data = {}
     self.bits: List[dict] = kwargs['bits']
     self.stations = kwargs['stations']
コード例 #5
0
def test_initialization_wrong_channel():
    with pytest.raises(SPISetupException):
        GPIO(channel=2, frequency=25000, library='wiringPi')
コード例 #6
0
def test_pack_with_large_bytes(mock_class):
    spi = GPIO(channel=0, frequency=25000, library='wiringPi')
    data = [-10, -1, 0, 255, 256, 266]
    with pytest.raises(ValueError):
        spi.pack(data=data)
コード例 #7
0
def test_pack_with_iterable(mock_class):
    spi = GPIO(channel=0, frequency=25000, library='wiringPi')
    it = list(range(0, 10))
    data_packet, length = spi.pack(data=it)
    assert [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] == list(data_packet)
    assert len(it) == length
コード例 #8
0
def test_pack_with_two_elements(mock_class):
    spi = GPIO(channel=0, frequency=25000, library='wiringPi')
    data = [1, 2]
    data_packet, length = spi.pack(data)
    assert [1, 2] == list(data_packet)
    assert 2 == length
コード例 #9
0
def test_pack_with_empty_list(mock_class):
    spi = GPIO(channel=0, frequency=25000, library='wiringPi')
    data = []
    data_packet, length = spi.pack(data)
    assert [] == list(data_packet)
    assert length == 0
コード例 #10
0
def test_initialization(mock_class):
    GPIO(channel=0, frequency=25000, library='wiringPi')
コード例 #11
0
 def test_pin_read(self, mock_class):
     interface = GPIO(channel=0, frequency=25000, library='wiringPi')
     interface.read_pin([3])
     interface.handle.pinMode.assert_called_once_with(3, 0)
     interface.handle.digitalRead.assert_called_once_with(3)
コード例 #12
0
 def test_init_both_pins_and_spi(self, mock_loader):
     gpio = GPIO(channel=0, frequency=500000, library='wiringPi')
     gpio.handle.wiringPiSPISetup.assert_called_once_with(0, 500000)
コード例 #13
0
 def test_send(self, mock_loader):
     g = GPIO(channel=0, frequency=0, library='None')
     g.send_data('abc'.encode('UTF-16'))
コード例 #14
0
 def test_constructor(self, mock_loader):
     g = GPIO(channel=0, frequency=0, library='wiringPi')
     self.assertTrue(g)
コード例 #15
0
    def test_gpio_context_manager(self, mock_loader):
        g = GPIO(channel=0, frequency=10000, library='None', interrupt=0)
        l = [128]
        result, length = g.pack(l)

        self.assertEqual(list(result), l)