def test_AddStation(self): n = Network() stationid = "station" stationid3 = "station3" companyid = "company" divisionid = "division" s = Station(stationid) s2 = Station(stationid) n.AddStation(s) with self.assertRaises(Exception): n.AddStation(s2) n.AddStationByDef(stationid3, companyid, divisionid) self.assertEqual(n.Stations[stationid].ID, stationid) self.assertEqual(n.Companies[""].Stations[stationid].ID, stationid) self.assertEqual(n.Companies[""].Divisions[""].Stations[stationid].ID, stationid) self.assertEqual(s.Company.ID, "") self.assertEqual(s.Division.ID, "") self.assertEqual(n.Stations[stationid3].ID, stationid3) self.assertEqual(n.Companies[companyid].Stations[stationid3].ID, stationid3) self.assertEqual(n.Companies[companyid].Divisions[divisionid].Stations[stationid3].ID, stationid3) self.assertEqual(n.Stations[stationid3].Company.ID, companyid) self.assertEqual(n.Stations[stationid3].Division.ID, divisionid) return
def testNetworkToDEMSimple(self): st1 = "Home" st2 = "Grid" kv = "115" nd1 = "HomeNode" nd2 = "GridNode" sgen = "SolarGen" ggen = "GridGen" ld1 = "HomeLoad" n = Network() #HOME n.AddStationByDef(st1) n.AddNodeByDef(st1, kv, nd1) sg = Unit(st1, kv, nd1, sgen, "", 10, 0, 0, 0, 1, False, 0) ld = Load(st1, kv, nd1, ld1, "", 13, 0, 1) n.AddDevice(sg) n.AddDevice(ld) #GRID n.AddStationByDef(st2) n.AddNodeByDef(st2, kv, nd2) gg = Unit(st2, kv, nd2, ggen, "", 1e6, 0, 0, 0, 1, False, 0) n.AddDevice(gg) #LINE br = Branch(st1, kv, nd1, st2, kv, nd2, "Line", "", True, 0, 0, "1", RatingSet(25, 25, 25), RatingSet(25, 25, 25)) n.AddNodeConnector(br) gp = NetworkToDEMSimple(n) gp.init_problem() gp.problem.solve() print(gp.results.summary())
def ImportStations(self, network: Network): filename = StationCSVStream.DefaultFileName if FileType.Station in self.CSVFileNames: filename = self.CSVFileNames[FileType.Station] propertymap = StationCSVStream.DefaultPropertyToFileMap if FileType.Station in self.CSVPropertyMaps: propertymap = self.CSVPropertyMaps[FileType.Station] with StationCSVStream(filename, propertymap, self.Encoding) as csv: i = 0 d = 0 for Station in csv: network.AddStationByDef(csv.getStationName(), csv.getCompanyName(), csv.getDivisionName()) i += 1 while i > ((d + 1) * .10 * len(csv)): print("", end='.') d += 1 return