def test_light_scenario_g1(self): d = Door() p = Photocell() p.light() l = Light(address='xx.xx.xx', devices=(d, p), mapped={ Attribute.COMMAND: (Command.CLOSE), Attribute.MAPPED: Command.OFF, Attribute.SECS: 2, }, ignore=({Attribute.COMMAND: Command.DARK}), name="Hallway Lights",) l.on() self.assertEqual(l.state, State.ON) d.close() self.assertEqual(l.state, State.ON) time.sleep(3) self.assertEqual(l.state, State.OFF) d.open() self.assertEqual(l.state, State.OFF)
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={ 'command': Command.OFF, 'secs': 3, 'source': door} ) door.open() self.assertEqual(light.state, State.ON) door.close() 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)
def test_light_scenario_g1(self): d = Door() p = Photocell() p.light() l = Light( address='xx.xx.xx', devices=(d, p), mapped={ Attribute.COMMAND: (Command.CLOSE), Attribute.MAPPED: Command.OFF, Attribute.SECS: 2, }, ignore=({ Attribute.COMMAND: Command.DARK }), name="Hallway Lights", ) l.on() self.assertEqual(l.state, State.ON) d.close() self.assertEqual(l.state, State.ON) time.sleep(3) self.assertEqual(l.state, State.OFF) d.open() self.assertEqual(l.state, State.OFF)
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={ Attribute.COMMAND: Command.OFF, Attribute.SECS: 3, Attribute.SOURCE: door }) door.open() self.assertEqual(light.state, State.ON) door.close() 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)
def test_door_closed(self): door = Door() self.assertIsNotNone(door) door.open() self.device = Light('D1', devices=(self.interface, door)) # self.assertTrue(self.interface.initial.called) self.assertFalse(self.interface.off.called) door.close() self.assertTrue(self.interface.off.called) # self.interface.on.assert_called_once_with('') door.open() self.assertTrue(self.interface.on.called)
def test_door_triggered(self): door = Door() self.assertIsNotNone(door) self.device = Light('D1', devices=(self.interface, door)) door.open() self.assertTrue(self.interface.on.called)