public void BrokenLinkAttemptThrowsWarning() { var reader = new BufferedReader( "={\n" + "42={ pop = 8 }\n" + "44={ pop = 10 }\n" + // no pop 10 "}\n" ); var provinces = new ImperatorToCK3.Imperator.Provinces.ProvinceCollection(reader); var reader2 = new BufferedReader( "={\n" + "8={type=\"citizen\" culture=\"roman\" religion=\"paradoxian\"}\n" + "9={type=\"tribal\" culture=\"persian\" religion=\"gsg\"}\n" + "}\n" ); var pops = new ImperatorToCK3.Imperator.Pops.PopCollection(); pops.LoadPops(reader2); var output = new StringWriter(); Console.SetOut(output); provinces.LinkPops(pops); var logStr = output.ToString(); Assert.Contains("[WARN] Pop with ID 10 has no definition!", logStr); }
public void PopCanBeLinked() { var reader = new BufferedReader("={42={pop=8}}\n"); var provinces = new ImperatorToCK3.Imperator.Provinces.ProvinceCollection(reader); var reader2 = new BufferedReader( "8={type=\"citizen\" culture=\"roman\" religion=\"paradoxian\"}\n" ); var pops = new ImperatorToCK3.Imperator.Pops.PopCollection(); pops.LoadPops(reader2); provinces.LinkPops(pops); var province = provinces[42]; var pop = province.Pops[8]; Assert.NotNull(pop); Assert.Equal("citizen", pop.Type); }
public void MultiplePopsCanBeLinked() { var reader = new BufferedReader( "={\n" + "43={ pop = 10}\n" + "42={pop=8}\n" + "44={pop= 9}\n" + "}\n" ); var provinces = new ImperatorToCK3.Imperator.Provinces.ProvinceCollection(reader); var reader2 = new BufferedReader( "={\n" + "8={type=\"citizen\" culture=\"roman\" religion=\"paradoxian\"}\n" + "9={type=\"tribal\" culture=\"persian\" religion=\"gsg\"}\n" + "10={type=\"freemen\" culture=\"greek\" religion=\"zoroastrian\"}\n" + "}\n" ); var pops = new ImperatorToCK3.Imperator.Pops.PopCollection(); pops.LoadPops(reader2); provinces.LinkPops(pops); var province = provinces[42]; var pop = province.Pops[8]; var province2 = provinces[43]; var pop2 = province2.Pops[10]; var province3 = provinces[44]; var pop3 = province3.Pops[9]; Assert.NotNull(pop); Assert.Equal("citizen", pop.Type); Assert.NotNull(pop2); Assert.Equal("freemen", pop2.Type); Assert.NotNull(pop3); Assert.Equal("tribal", pop3.Type); }