예제 #1
1
 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)
예제 #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={
                             '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)
예제 #3
0
파일: light.py 프로젝트: ver007/pytomation
 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)
예제 #4
0
파일: light.py 프로젝트: ver007/pytomation
    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)
예제 #5
0
파일: insteon.py 프로젝트: E3Dev/pytomation
 def test_door_light_delgate_caseinsensitive(self):
     d = Door(address='23.d2.bE', 
              devices=self.insteon)
     d.close()
     self.ms.put_read_data(Conversions.hex_to_ascii('025023D2BE000001CB1100'))
     time.sleep(3)
     self.ms.put_read_data(Conversions.hex_to_ascii('025023D2BE22FF5B411101'))
     time.sleep(3)
     self.assertEqual(d.state, State.OPEN)
예제 #6
0
 def test_door_light_delgate_caseinsensitive(self):
     d = Door(address='23.d2.bE', devices=self.insteon)
     d.close()
     self.ms.put_read_data(
         Conversions.hex_to_ascii('025023D2BE000001CB1100'))
     time.sleep(3)
     self.ms.put_read_data(
         Conversions.hex_to_ascii('025023D2BE22FF5B411101'))
     time.sleep(3)
     self.assertEqual(d.state, State.OPEN)
예제 #7
0
    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)
예제 #8
0
파일: light.py 프로젝트: ver007/pytomation
 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)