public void LoadRegionMappers(ImperatorRegionMapper imperatorRegionMapper, CK3RegionMapper ck3RegionMapper) { foreach (var mapping in religionMappings) { mapping.ImperatorRegionMapper = imperatorRegionMapper; mapping.CK3RegionMapper = ck3RegionMapper; } }
public void LoadRegionMappers(ImperatorRegionMapper imperatorRegionMapper, CK3RegionMapper ck3RegionMapper) { foreach (var mapping in cultureMappingRules) { mapping.ImperatorRegionMapper = imperatorRegionMapper; mapping.CK3RegionMapper = ck3RegionMapper; } }
public void LocationServicesSucceedsForProvinceField() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/LocationServicesSucceedsForProvinceField.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.True(mapper.ProvinceIsInRegion(69, "test_region")); }
public void RegionMapperCanBeEnabled() { // We start humble, it's a machine. var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/empty.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.False(mapper.ProvinceIsInRegion(1, "test")); Assert.False(mapper.RegionNameIsValid("test")); Assert.Null(mapper.GetParentCountyName(1)); Assert.Null(mapper.GetParentDuchyName(1)); Assert.Null(mapper.GetParentRegionName(1)); }
public void LocationServicesSucceedsForCountyField() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "c_athens = { b_athens = { province = 79 } b_newbarony = { province = 56 } }" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/LocationServicesSucceedsForCountyField.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.True(mapper.ProvinceIsInRegion(79, "test_region")); }
public void LoadingBrokenCountyWillThrowException() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "k_anglia = { d_aquitane = { c_mers_broken = { b_hgy = { province = 69 } } } } \n" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/LoadingBrokenCountyWillThrowException.txt"; void action() => mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); KeyNotFoundException exception = Assert.Throws <KeyNotFoundException>(action); Assert.Equal("Region's test_region county c_mers does not exist!", exception.Message); }
public void LocationServicesFailForNonsense() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { c_athens = { b_athens = { province = 79 } b_newbarony = { province = 56 } } } } \n" + "k_ghef = { d_hujhu = { c_defff = { b_cringe = { province = 6 } b_newbarony2 = { province = 4 } } } }" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/LocationServicesFailForNonsense.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.False(mapper.ProvinceIsInRegion(1, "nonsense")); Assert.False(mapper.ProvinceIsInRegion(6, "test_superregion")); }
public void WrongParentLocationsReturnNull() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "d_testduchy = { 1 2 3 } \n" + "d_testduchy2 = { 4 5 6 } " ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/WrongParentLocationsReturnNull.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.Null(mapper.GetParentCountyName(7)); Assert.Null(mapper.GetParentDuchyName(7)); Assert.Null(mapper.GetParentRegionName(7)); }
public void LocationServicesCorrectlyFail() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "d_testduchy = { 1 2 3 } \n" + "d_testduchy2 = { 4 5 6 } " ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/LocationServicesCorrectlyFail.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.False(mapper.ProvinceIsInRegion(4, "d_testduchy")); // province in different duchy Assert.False(mapper.ProvinceIsInRegion(9, "d_testduchy")); // province missing completely Assert.False(mapper.ProvinceIsInRegion(5, "test_region")); // province in different region }
public void LocationServicesWork() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "d_aquitane = { c_mers = { b_hgy = { province = 69 } } }" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/LocationServicesWork.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.True(mapper.ProvinceIsInRegion(69, "c_mers")); Assert.True(mapper.ProvinceIsInRegion(69, "d_aquitane")); Assert.True(mapper.ProvinceIsInRegion(69, "test_region")); Assert.True(mapper.ProvinceIsInRegion(69, "test_region_bigger")); Assert.True(mapper.ProvinceIsInRegion(69, "test_region_biggest")); }
public void MatchOnRegionFailsForNoProvince() { var ck3Mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { } } \n" + "k_ghef = { d_hujhu = { c_defff = { b_cringe = { province = 6 } b_newbarony2 = { province = 4 } } } } \n" ); landedTitles.LoadTitles(landedTitlesReader); ck3Mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader("ck3 = dutch imp = german ck3Region = d_hujhu"); var mapping = ReligionMapping.Parse(reader); mapping.CK3RegionMapper = ck3Mapper; mapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Null(mapping.Match("german", 0, 0)); }
public void MatchOnRegionFailsForWrongRegion() { var theMapper = new CK3RegionMapper(); var landedTitles = new LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { } } \n" + "k_ghef = { d_hujhu = { c_defff = { b_cringe = { province = 6 } } } } \n" ); landedTitles.LoadTitles(landedTitlesReader); theMapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader("ck3 = dutch imp = german ck3Region = test_region1"); var mapping = ReligionMapping.Parse(reader); mapping.CK3RegionMapper = theMapper; mapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Null(mapping.Match("german", 79, 0)); }
public void MatchOnRegion() { var theMapper = new CK3RegionMapper(); var landedTitles = new LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { c_athens = { b_athens = { province = 79 } } } } \n" + "k_ghef = { d_hujhu = { c_defff = { b_newbarony2 = { province = 4 } } } } \n" ); landedTitles.LoadTitles(landedTitlesReader); theMapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader("ck3 = dutch imp = german ck3Region = test_region1"); var mapping = ReligionMapping.Parse(reader); mapping.CK3RegionMapper = theMapper; mapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Equal("dutch", mapping.Match("german", 4, 0)); }
public void MatchOnRegionFailsForNoRegion() { var ck3Mapper = new CK3RegionMapper(); var landedTitles = new LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { } } \n" + "k_ghef = { d_hujhu = { } } \n" ); landedTitles.LoadTitles(landedTitlesReader); ck3Mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader("ck3 = dutch imp = german ck3Region = test_region3"); var mapping = ReligionMapping.Parse(reader); mapping.CK3RegionMapper = ck3Mapper; mapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Null(mapping.Match("german", 17, 0)); }
public void CorrectParentLocationsReported() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { c_athens = { b_athens = { province = 79 } b_newbarony = { province = 56 } } } } \n" + "k_ghef = { d_hujhu = { c_defff = { b_cringe = { province = 6 } b_newbarony2 = { province = 4 } } } } \n" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/CorrectParentLocationsReported.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.Equal("c_athens", mapper.GetParentCountyName(79)); Assert.Equal("d_wakaba", mapper.GetParentDuchyName(79)); Assert.Equal("test_region", mapper.GetParentRegionName(79)); Assert.Equal("c_defff", mapper.GetParentCountyName(6)); Assert.Equal("d_hujhu", mapper.GetParentDuchyName(6)); Assert.Equal("test_region2", mapper.GetParentRegionName(6)); }
public void LocationNameValidationWorks() { var mapper = new CK3RegionMapper(); var landedTitles = new Title.LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { c_athens = { b_athens = { province = 79 } b_newbarony = { province = 56 } } } } \n" + "k_ghef = { d_hujhu = { c_defff = { b_cringe = { province = 6 } b_newbarony2 = { province = 4 } } } } \n" + "c_county = { b_barony = { province = 69 } } \n" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CK3RegionMapperTests/LocationNameValidationWorks.txt"; mapper.LoadRegions(landedTitles, regionPath, islandRegionPath); Assert.True(mapper.RegionNameIsValid("d_wakaba")); Assert.True(mapper.RegionNameIsValid("test_region2")); Assert.True(mapper.RegionNameIsValid("test_region3")); Assert.True(mapper.RegionNameIsValid("c_county")); Assert.False(mapper.RegionNameIsValid("nonsense")); }
public void MatchOnRegionFailsForNoRegion() { var ck3RegionMapper = new CK3RegionMapper(); var landedTitles = new LandedTitles(); var landedTitlesReader = new BufferedReader(string.Empty); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CultureMappingTests/empty.txt"; ck3RegionMapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader( "ck3 = dutch imp = german ck3Region = test_region3" ); var theMapping = CultureMappingRule.Parse(reader); theMapping.CK3RegionMapper = ck3RegionMapper; theMapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Null(theMapping.Match("german", "", 17, 0, "")); }
public void MatchOnRegionFailsForNoProvince() { var ck3RegionMapper = new CK3RegionMapper(); var landedTitles = new LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ghef = { d_hujhu = { c_defff = { b_cringe = { province = 6 } b_newbarony2 = { province = 4 } } } } \n" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CultureMappingTests/empty.txt"; ck3RegionMapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader( "ck3 = dutch imp = german ck3Region = d_hujhu" ); var theMapping = CultureMappingRule.Parse(reader); theMapping.CK3RegionMapper = ck3RegionMapper; theMapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Null(theMapping.Match("german", "", 0, 0, "")); }
[Fact] public void MatchOnRegion() { var ck3RegionMapper = new CK3RegionMapper(); var landedTitles = new LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ghef = { d_hujhu = { c_defff = { b_newbarony2 = { province = 4 } } } }" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CultureMappingTests/MatchOnRegion.txt"; ck3RegionMapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader( "ck3 = dutch imp = german ck3Region = test_region1" ); var theMapping = CultureMappingRule.Parse(reader); theMapping.CK3RegionMapper = ck3RegionMapper; theMapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Equal("dutch", theMapping.Match("german", "", 4, 0, "")); }
public void MatchOnRegionFailsForWrongRegion() { var ck3RegionMapper = new CK3RegionMapper(); var landedTitles = new LandedTitles(); var landedTitlesReader = new BufferedReader( "k_ugada = { d_wakaba = { c_athens = { b_athens = { province = 79 } } } } \n" + "k_ghef = { d_hujhu = { c_defff = { b_cringe = { province = 6 } } } } \n" ); landedTitles.LoadTitles(landedTitlesReader); const string regionPath = "TestFiles/regions/CultureMappingTests/MatchOnRegionFailsForWrongRegion"; ck3RegionMapper.LoadRegions(landedTitles, regionPath, islandRegionPath); var reader = new BufferedReader( "ck3 = dutch imp = german ck3Region = test_region2" ); var theMapping = CultureMappingRule.Parse(reader); theMapping.CK3RegionMapper = ck3RegionMapper; theMapping.ImperatorRegionMapper = new ImperatorRegionMapper(); Assert.Null(theMapping.Match("german", "", 79, 0, "")); }