Beispiel #1
0
        public void BattleTest()
        {
            World world = new World();

            for (UInt16 i = 0; i <= 16; i++)
            {
                Creature      creatureOne = new Creature(new Gene(i));
                PrivateObject PrivateObjectCreatureOne = new PrivateObject(creatureOne);
                PrivateObjectCreatureOne.Invoke("GrowUp");
                world.AcceptNewCreature(creatureOne);
            }

            // 世界開始時の2体がいるので19体
            Assert.AreEqual(world.Creatures.Count, 19);

            Creature creature = world.Creatures.First();
            var      PrivateObjectCreature = new PrivateObject(creature);

            PrivateObjectCreature.Invoke("Battle", new object[] { world });

            var PrivateObjectWorld = new PrivateObject(world);

            PrivateObjectWorld.Invoke("AfterTimeEvent");

            // 1体減って18体
            Assert.AreEqual(world.Creatures.Count, 18);
        }
Beispiel #2
0
        public void EndOfDaysTest()
        {
            World world = new World();

            Assert.IsFalse(world.EndOfDays());
            world.AcceptNewCreature(new Creature(new Gene(Creature.BestGeneSequence)));
            Assert.IsTrue(world.EndOfDays());
        }
Beispiel #3
0
        public void GetMaxPrecisionRatioTest()
        {
            World world = new World();

            Assert.AreEqual(world.GetMaxPrecisionRatio(), 24d / 32d);
            world.AcceptNewCreature(new Creature(new Gene(Creature.BestGeneSequence)));
            Assert.AreEqual(world.GetMaxPrecisionRatio(), 1d);
        }
Beispiel #4
0
        public void AcceptNewCreatureTest()
        {
            World world = new World();

            Assert.AreEqual(world.Creatures.Count, 2);
            world.AcceptNewCreature(new Creature(new Gene(0x0101u)));
            Assert.AreEqual(world.Creatures.Count, 3);
            Assert.AreEqual(world.Creatures[2].Gene.Sequence, 0x0101u);
        }