def setUp(self): self.zone1 = Zone.createExternalZone('porch').addDevice(Door(ITEMS[0])) self.zone2 = Zone.createExternalZone('garage').addDevice(Door( ITEMS[1])) AlertManager._setTestMode(True) AlertManager.reset()
def testOnAction_zoneIsExternal_returnsFalse(self): zone = Zone.createExternalZone('porch').addDevice( TemperatureSensor(ITEMS[0])) eventInfo = EventInfo(ZoneEvent.TEMPERATURE_CHANGED, ITEMS[0], zone, None, self.getMockedEventDispatcher()) value = AlertOnTemperatureOutOfRange().onAction(eventInfo) self.assertFalse(value)
def createTestData(self, excludedDevices=[], extraIncludedDevices=[]): ''' :return: a list of two zones, the mocked zone manager, and the event dispatcher :rtype: list ''' self.partition.armAway(self.getMockedEventDispatcher()) porch = Zone.createExternalZone('porch').addDevice(self.partition) greatRoom = Zone("GR", [self.audioSink], Level.FIRST_FLOOR) for d in excludedDevices: if porch.hasDevice(d): porch = porch.removeDevice(d) if greatRoom.hasDevice(d): greatRoom = greatRoom.removeDevice(d) for d in extraIncludedDevices: greatRoom = greatRoom.addDevice(d) zm = MockedZoneManager([porch, greatRoom]) eventInfo = EventInfo(ZoneEvent.MOTION, ITEMS[0], porch, zm, self.getMockedEventDispatcher()) return [porch, greatRoom, zm, eventInfo]
def setUp(self): super(ArmAfterFrontDoorClosedTest, self).setUp() self.alarmPartition = AlarmPartition(ITEMS[2], ITEMS[3]) self.externalMotionSensor = MotionSensor(ITEMS[4]) self.internalMotionSensor = MotionSensor(ITEMS[5]) self.zone1 = Zone.createExternalZone('porch') \ .addDevice(Door(ITEMS[0])) \ .addDevice(self.externalMotionSensor) self.zone2 = Zone('foyer', [self.internalMotionSensor, self.alarmPartition]) self.mockZoneManager= MockZoneManager(self.alarmPartition, [self.zone1, self.zone2]) AlertManager._setTestMode(True) AlertManager.reset()
def testCreateExternalZone_validParams_returnsAnExternalZone(self): zoneName = 'bed room' zone = Zone.createExternalZone(zoneName) self.assertEqual(zoneName, zone.getName()) self.assertTrue(zone.isExternal())
def testOnAction_zoneIsExternal_returnsFalse(self): zone = Zone.createExternalZone('porch').addDevice(HumiditySensor(ITEMS[0])) eventInfo = EventInfo(ZoneEvent.HUMIDITY_CHANGED, ITEMS[0], zone, None, self.getMockedEventDispatcher()) value = AlertOnHumidityOutOfRange().onAction(eventInfo) self.assertFalse(value)
def testOnAction_externalZoneWithNoDoor_returnsFalseAndTimerStarted(self): eventInfo = EventInfo(ZoneEvent.CONTACT_OPEN, ITEMS[0], Zone.createExternalZone('aZone'), None, self.getMockedEventDispatcher()) value = AlertOnExternalDoorLeftOpen().onAction(eventInfo) self.assertFalse(value)