def test_AddDivision(self): n = Network() companyid = "company" companyid2 = "company2" companyid3 = "company3" divisionid = "division" divisionid2 = "division2" divisionid3 = "division3" c = Company(companyid) c3 = Company(companyid3) d = Division(divisionid, companyid) d2 = Division(divisionid2, companyid2) n.AddCompany(c) n.AddCompany(c3) n.AddDivision(d) n.AddDivision(d2) n.AddDivisionByDef(divisionid3, companyid3) n.AddDivisionByDef(divisionid, companyid2) with self.assertRaises(Exception): n.AddDivisionByDef(divisionid, companyid) self.assertEqual(n.Companies[companyid].Divisions[divisionid].ID, divisionid) self.assertEqual(n.Companies[companyid2].Divisions[divisionid2].ID, divisionid2) self.assertEqual(n.Companies[companyid3].Divisions[divisionid3].ID, divisionid3) self.assertEqual(len(n.Companies[companyid2].Divisions), 2) self.assertEqual(n.Companies[companyid2].Divisions[divisionid].ID, divisionid) return
def ImportDivisions(self, network: Network): filename = DivisionCSVStream.DefaultFileName if FileType.Division in self.CSVFileNames: filename = self.CSVFileNames[FileType.Division] propertymap = DivisionCSVStream.DefaultPropertyToFileMap if FileType.Division in self.CSVPropertyMaps: propertymap = self.CSVPropertyMaps[FileType.Division] with DivisionCSVStream(filename, propertymap, self.Encoding) as csv: i = 0 d = 0 for Division in csv: network.AddDivisionByDef(csv.getDivisionName(), csv.getCompanyName()) i += 1 while i > ((d + 1) * .10 * len(csv)): print("", end='.') d += 1 return