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())
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
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()))