예제 #1
0
        public void IncreaseAndGetPopulationForTest()
        {
            var d = new Demographics();

            Assert.AreEqual(0, d.Populations.Count);
            var r = MakeTestRace("test race");

            d.IncreasePopulationFor(r);
            Assert.AreEqual(1, d.Populations.Count);
            Assert.AreEqual(Demographics.Population.Low, d.GetPopulationFor(r));
            d.IncreasePopulationFor(r);
            Assert.AreEqual(1, d.Populations.Count);
            Assert.AreEqual(Demographics.Population.LowMid, d.GetPopulationFor(r));

            var r2 = MakeTestRace("test race 2");

            d.IncreasePopulationFor(r2);
            Assert.AreEqual(Demographics.Population.Low, d.GetPopulationFor(r2));
            Assert.AreEqual(Demographics.Population.LowMid, d.GetPopulationFor(r));

            d.IncreasePopulationFor(r);
            d.IncreasePopulationFor(r);
            d.IncreasePopulationFor(r);
            Assert.AreEqual(Demographics.Population.High, d.GetPopulationFor(r));

            // Should not be able to increase population past high
            d.IncreasePopulationFor(r);
            Assert.AreEqual(Demographics.Population.High, d.GetPopulationFor(r));
            Assert.AreEqual(Demographics.Population.Low, d.GetPopulationFor(r2));
        }
예제 #2
0
        public void GetPopulationForTest()
        {
            var d = new Demographics();

            Assert.AreEqual(0, d.Populations.Count);
            var r  = MakeTestRace("test race");
            var r2 = MakeTestRace("test race 2");

            Assert.AreEqual(Demographics.Population.None, d.GetPopulationFor(r));
            Assert.AreEqual(Demographics.Population.None, d.GetPopulationFor(r2));
            Assert.AreEqual(Demographics.Population.None, d[r]);
            Assert.AreEqual(Demographics.Population.None, d[r2]);
            d.IncreasePopulationFor(r);
            Assert.AreEqual(1, d.Populations.Count);
            Assert.AreEqual(Demographics.Population.Low, d.GetPopulationFor(r));
            Assert.AreEqual(Demographics.Population.None, d.GetPopulationFor(r2));
            Assert.AreEqual(Demographics.Population.Low, d[r]);
            Assert.AreEqual(Demographics.Population.None, d[r2]);

            d.IncreasePopulationFor(r);
            Assert.AreEqual(1, d.Populations.Count);
            Assert.AreEqual(Demographics.Population.LowMid, d.GetPopulationFor(r));
            Assert.AreEqual(Demographics.Population.None, d.GetPopulationFor(r2));
            Assert.AreEqual(Demographics.Population.LowMid, d[r]);
            Assert.AreEqual(Demographics.Population.None, d[r2]);
        }