예제 #1
0
 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)
예제 #2
0
    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)