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 PopsCanBeSet() { var reader = new BufferedReader( "= {\n" + "\tpop=69\n" + "\tpop=68\n" + "\tpop=12213\n" + "\tpop=23\n" + "}" ); var theProvince = Province.Parse(reader, 42); Assert.Equal(0, theProvince.GetPopCount()); // pops not linked yet var pops = new ImperatorToCK3.Imperator.Pops.PopCollection(); var pop1 = new ImperatorToCK3.Imperator.Pops.Pop(69); var pop2 = new ImperatorToCK3.Imperator.Pops.Pop(68); var pop3 = new ImperatorToCK3.Imperator.Pops.Pop(12213); var pop4 = new ImperatorToCK3.Imperator.Pops.Pop(23); pops.Add(pop1); pops.Add(pop2); pops.Add(pop3); pops.Add(pop4); theProvince.LinkPops(pops); Assert.Equal(4, theProvince.GetPopCount()); }
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); }