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)); }
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); }