Esempio n. 1
0
        public void MiningVillageBuildTest()
        {
            MiningVillage miningVillage = new MiningVillage(5, 4);
            Builder       builder       = (Builder)UnitFactory.CreateUnit(typeof(Builder));

            Assert.False(miningVillage.AbleToFunction);
            Assert.Equal(4, miningVillage.BuildingTime);
            Assert.Equal(0, miningVillage.BuildProgress);
            Assert.Equal(0, miningVillage.CurrentCapacity);
            Assert.Equal(5, miningVillage.MaxCapacity);
            Assert.Equal(0, miningVillage.CurrentConstructionUnitCount);
            Assert.Single(miningVillage.UnitTypes);
            Assert.Single(miningVillage.UnitTypes.Where(u => u == typeof(Gatherer)));

            Assert.Empty(miningVillage.DoWork());

            miningVillage.DoBuildProcess();
            Assert.Equal(0, miningVillage.BuildProgress);

            miningVillage.AddConstructionUnit(builder);
            Assert.Equal(1, miningVillage.CurrentConstructionUnitCount);
            miningVillage.DoBuildProcess();
            Assert.Equal(1, miningVillage.BuildProgress);
            Assert.False(miningVillage.AbleToFunction);

            miningVillage.DoBuildProcess();
            Assert.Equal(2, miningVillage.BuildProgress);
            Assert.False(miningVillage.AbleToFunction);

            miningVillage.DoBuildProcess();
            Assert.Equal(3, miningVillage.BuildProgress);
            Assert.False(miningVillage.AbleToFunction);

            miningVillage.DoBuildProcess();
            Assert.Equal(4, miningVillage.BuildProgress);
            Assert.True(miningVillage.AbleToFunction);

            miningVillage.DoBuildProcess();
            Assert.Equal(4, miningVillage.BuildProgress);
            Assert.True(miningVillage.AbleToFunction);
        }
Esempio n. 2
0
        public void MiningVillageTest()
        {
            MiningVillage miningVillage = new MiningVillage(5, 2);
            Builder       builder       = (Builder)UnitFactory.CreateUnit(typeof(Builder));
            Gatherer      gatherer      = (Gatherer)UnitFactory.CreateUnit(typeof(Gatherer));

            Assert.False(miningVillage.AbleToFunction);
            Assert.Equal(2, miningVillage.BuildingTime);
            Assert.Equal(0, miningVillage.BuildProgress);
            Assert.Equal(0, miningVillage.CurrentCapacity);
            Assert.Equal(5, miningVillage.MaxCapacity);
            Assert.Equal(0, miningVillage.CurrentConstructionUnitCount);
            Assert.Single(miningVillage.UnitTypes);
            Assert.Single(miningVillage.UnitTypes.Where(u => u == typeof(Gatherer)));

            miningVillage.DoBuildProcess();
            Assert.Equal(0, miningVillage.BuildProgress);

            miningVillage.AddConstructionUnit(builder);
            Assert.Equal(1, miningVillage.CurrentConstructionUnitCount);
            miningVillage.DoBuildProcess();
            Assert.Equal(1, miningVillage.BuildProgress);
            Assert.False(miningVillage.AbleToFunction);

            miningVillage.DoBuildProcess();
            Assert.Equal(2, miningVillage.BuildProgress);
            Assert.True(miningVillage.AbleToFunction);

            miningVillage.AssignUnit(gatherer);
            Assert.Equal(1, miningVillage.CurrentCapacity);
            var resources = miningVillage.DoWork();

            Assert.NotNull(resources);
            Assert.NotEmpty(resources);
            Assert.Single(resources);
            Assert.Single(resources.Where(r => r.Type == "rock"));
            Assert.Single(resources.Where(r => r.Type == "rock" && r.Amount == 1));
        }