示例#1
0
    def testGetZoneById_validZoneId_returnValidZone(self):
        zone1 = Zone('ff')
        self.zm.addZone(zone1)

        zone2 = Zone('2f')
        self.zm.addZone(zone2)

        self.assertEqual(zone1.getName(),
                         self.zm.getZoneById(zone1.getId()).getName())
        self.assertEqual(zone2.getName(),
                         self.zm.getZoneById(zone2.getId()).getName())
示例#2
0
    def _normalizeNeighbors(self, zone):
        '''
        If a zone has the same neighbor with more than one OPEN_SPACE type,
        remove the generic one NeighborType.OPEN_SPACE

        :rtype: Zone new object
        '''
        zoneIdToType = {}
        for neighbor in zone.getNeighbors():
            zoneId = neighbor.getZoneId()
            if zoneId in zoneIdToType:
                types = zoneIdToType[zoneId]
            else:
                types = []
                zoneIdToType[zoneId] = types

            types.append(neighbor.getType())

        for types in zoneIdToType.values():
            if NeighborType.OPEN_SPACE_MASTER in types \
                or NeighborType.OPEN_SPACE_SLAVE in types:
                if NeighborType.OPEN_SPACE in types:
                    types.remove(NeighborType.OPEN_SPACE)

        zone = Zone(zone.getName(), zone.getDevices(), zone.getLevel(), [], {},
                    zone.isExternal(), zone.getDisplayIcon(),
                    zone.getDisplayOrder())
        for zoneId in zoneIdToType.keys():
            for type in zoneIdToType[zoneId]:
                zone = zone.addNeighbor(Neighbor(zoneId, type))

        return zone
示例#3
0
 def testZoneCtor_validParams_gettersReturnValidValues(self):
     zoneName = 'bed room'
     zone = Zone(zoneName, [self.light], Level.SECOND_FLOOR)
     self.assertEqual(zoneName, zone.getName())
     self.assertEqual(Level.SECOND_FLOOR, zone.getLevel())
     self.assertEqual(
         str(Level.SECOND_FLOOR) + '_' + zoneName, zone.getId())
     self.assertEqual(1, len(zone.getDevices()))