def test_handleStateChangeSuccess(self, gpioInputMock, gpioRemoveMock, gpioAddMock, notifyMock): gpioInputMock.return_value = State.OPEN sensor = Door(DoorTest.name, DoorTest.pin) sensor.callback = self.dummyCallback sensor._handleStateChange(23) notifyMock.assert_called_with(self.dummyCallback)
def getGpioSensor(sensorConfig): """ Initialization of factory Args: sensorConfig (dict): subsection of configuration pertinent to this sensor Returns: GpioSensor : GpioSensor object """ if (sensorConfig['type'] == Type.DOOR): sensor = Door(sensorConfig['name'], sensorConfig['pin']) return sensor else: logger.error("GpioSensor type {} not found".format( sensorConfig['type'])) raise ValueError("GpioSensor type {} not found".format( sensorConfig['type']))
def test_disableStateChangeNotification(self, gpioRemoveMock): sensor = Door(DoorTest.name, DoorTest.pin) sensor.callback = self.dummyCallback sensor.disableStateChangeNotification() self.assertEqual(sensor.callback, None)
def test_handleStateChangeNoCallback(self, gpioInputMock): gpioInputMock.return_value = State.OPEN sensor = Door(DoorTest.name, DoorTest.pin) sensor.callback = None with self.assertRaises(ValueError): sensor._handleStateChange(23)
def test_notifyOnStateChangeOpen(self, gpioInputMock, gpioRemoveMock, gpioAddMock): gpioInputMock.return_value = State.CLOSED sensor = Door(DoorTest.name, DoorTest.pin) sensor.notifyOnStateChange(self.dummyCallback) self.assertEqual(sensor.callback, self.dummyCallback)
def test_notifyOnStateChangeNoCallback(self): sensor = Door(DoorTest.name, DoorTest.pin) with self.assertRaises(ValueError): sensor.notifyOnStateChange(None)
def test_getStateClosed(self, gpioMock): gpioMock.return_value = State.CLOSED sensor = Door(DoorTest.name, DoorTest.pin) self.assertEqual(sensor.getState(), State.CLOSED)
def test_getStateOpen(self, gpioMock): gpioMock.return_value = State.OPEN sensor = Door(DoorTest.name, DoorTest.pin) self.assertEqual(sensor.getState(), State.OPEN)