public ConfigInclusionRulesTest() { rule1 = new FileListInclusionRule( new List <string>(), false, "abc", InputDataType.ESE_AGREEMENTS, new OutputGroup("1") ); rule2 = new FileListInclusionRule( new List <string>(), false, "abc", InputDataType.ESE_AGREEMENTS, new OutputGroup("1") ); rule3 = new FileListInclusionRule( new List <string>(), false, "abc", InputDataType.ESE_AGREEMENTS, new OutputGroup("1") ); ruleset = new ConfigInclusionRules(); ruleset.AddAirportInclusionRule(rule3); ruleset.AddEnrouteInclusionRule(rule1); ruleset.AddMiscInclusionRule(rule2); }
public void TestItLoadsAConfigFile() { ConfigInclusionRules rules = fileLoader.LoadConfigFiles( new List <string> { "_TestData/ConfigFileLoader/ValidConfig/config.json" }, arguments ); List <IInclusionRule> ruleList = rules.ToList(); Assert.Equal(6, ruleList.Count); // Airport - Basic FileListInclusionRule airportBasicRule = (FileListInclusionRule)ruleList[0]; Assert.Equal(2, airportBasicRule.FileList.Count()); Assert.Equal( new List <string> { GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Airports/EGLL/Basic.txt"), GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Airports/EGLL/Basic2.txt"), }, airportBasicRule.FileList.ToList() ); Assert.False(airportBasicRule.IgnoreMissing); Assert.Equal("", airportBasicRule.ExceptWhereExists); Assert.Equal(InputDataType.SCT_AIRPORT_BASIC, airportBasicRule.InputDataType); Assert.Equal(new OutputGroup("airport.SCT_AIRPORT_BASIC.EGLL", "Start EGLL Basic"), airportBasicRule.GetOutputGroup()); // Airport - Geo FileListInclusionRule airportGeoRule = (FileListInclusionRule)ruleList[1]; Assert.Single(airportGeoRule.FileList); Assert.Equal( new List <string> { GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Airports/EGLL/SMR/Geo.txt"), }, airportGeoRule.FileList.ToList() ); Assert.True(airportGeoRule.IgnoreMissing); Assert.Equal(GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Airports/EGLL/SMR/Foo.txt"), airportGeoRule.ExceptWhereExists); Assert.Equal(InputDataType.SCT_GEO, airportGeoRule.InputDataType); Assert.Equal(new OutputGroup("airport.SCT_GEO.EGLL", "Start EGLL Geo"), airportGeoRule.GetOutputGroup()); // Enroute ownership folder 1 FolderInclusionRule ownershipRule1 = (FolderInclusionRule)ruleList[2]; Assert.Equal(GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Ownership/Alternate"), ownershipRule1.Folder); Assert.True(ownershipRule1.Recursive); Assert.True(ownershipRule1.ExcludeList); Assert.Empty(ownershipRule1.IncludeExcludeFiles); Assert.Equal(new OutputGroup("enroute.ESE_OWNERSHIP", "Start enroute Ownership"), ownershipRule1.GetOutputGroup()); // Enroute ownership folder 2 FolderInclusionRule ownershipRule2 = (FolderInclusionRule)ruleList[3]; Assert.Equal(GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Ownership/Foo"), ownershipRule2.Folder); Assert.False(ownershipRule2.Recursive); Assert.False(ownershipRule2.ExcludeList); Assert.Single(ownershipRule2.IncludeExcludeFiles); Assert.Equal("Foo.txt", ownershipRule2.IncludeExcludeFiles[0]); Assert.Equal(new OutputGroup("enroute.ESE_OWNERSHIP", "Start enroute Ownership"), ownershipRule2.GetOutputGroup()); // Enroute ownership folder 3 FolderInclusionRule ownershipRule3 = (FolderInclusionRule)ruleList[4]; Assert.Equal(GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Ownership/Non-UK"), ownershipRule3.Folder); Assert.False(ownershipRule3.Recursive); Assert.True(ownershipRule3.ExcludeList); Assert.Single(ownershipRule3.IncludeExcludeFiles); Assert.Equal("EUR Islands.txt", ownershipRule3.IncludeExcludeFiles[0]); Assert.Equal(new OutputGroup("enroute.ESE_OWNERSHIP", "Start enroute Ownership"), ownershipRule3.GetOutputGroup()); // Misc regions FileListInclusionRule miscRegions = (FileListInclusionRule)ruleList[5]; Assert.Equal(3, miscRegions.FileList.Count()); Assert.Equal( new List <string> { GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Misc/Regions_LTMA Airfield CAS.txt"), GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Misc/Regions_Severn Buffers.txt"), GetFullFilePath("_TestData/ConfigFileLoader/ValidConfig/Misc/Regions_Uncontrolled airspace.txt"), }, miscRegions.FileList.ToList() ); Assert.False(miscRegions.IgnoreMissing); Assert.Equal("", miscRegions.ExceptWhereExists); Assert.Equal(InputDataType.SCT_REGIONS, miscRegions.InputDataType); Assert.Equal(new OutputGroup("misc.SCT_REGIONS", "Start misc Regions"), miscRegions.GetOutputGroup()); }