def test_door_closed(self): door = Door() self.assertIsNotNone(door) door.open() self.device = Light("D1", (self.interface, door)) self.assertTrue(self.interface.on.called) self.assertFalse(self.interface.off.called) door.closed() self.assertTrue(self.interface.off.called) # self.interface.on.assert_called_once_with('') door.open() self.assertTrue(self.interface.on.called)
def test_delay_normal(self): # Door Open events retrigger delay # Instead of turning off in 2 secs should be 4 door = Door() self.assertIsNotNone(door) light = Light(address="D1", devices=(self.interface, door), delay_off=3) door.open() self.assertEqual(light.state, State.ON) door.closed() self.assertEqual(light.state, State.ON) time.sleep(2) self.assertEqual(light.state, State.ON) time.sleep(2) self.assertEqual(light.state, State.OFF) # Check to see if we can immediately and directly still turn off light.off() door.open() self.assertEqual(light.state, State.ON) light.off() self.assertEqual(light.state, State.OFF)