public void TestStarveMultiUnit(TroopStub stub) { stub.AddFormation(FormationType.Normal); stub.AddUnit(FormationType.Normal, 0, 10); stub.AddUnit(FormationType.Normal, 1, 100); stub.Starve(); Assert.Equal(stub[FormationType.Normal][0], 9); Assert.Equal(stub[FormationType.Normal][1], 95); }
public void TestUnitListConflictingTypes(TroopStub stub) { stub.AddFormation(FormationType.Normal); stub.AddFormation(FormationType.Attack); stub.AddUnit(FormationType.Normal, 1, 4); stub.AddUnit(FormationType.Attack, 1, 5); var units = stub.ToUnitList(); Assert.True(units.Count == 1); Assert.True(units[0].Type == 1); Assert.True(units[0].Count == 9); }
public void TestStarveToZeroBypassProtection(TroopStub stub) { stub.AddFormation(FormationType.Normal); stub.AddUnit(FormationType.Normal, 0, 1); stub.Starve(5, true); Assert.False(stub[FormationType.Normal].ContainsKey(0)); }
public void TestStarveToZero(TroopStub stub) { stub.AddFormation(FormationType.Normal); stub.AddUnit(FormationType.Normal, 0, 1); stub.Starve(); Assert.Equal(stub[FormationType.Normal][0], 1); }
public void TestUnitListSpecificFormations(TroopStub stub) { stub.AddFormation(FormationType.Normal); stub.AddFormation(FormationType.Attack); stub.AddUnit(FormationType.Normal, 1, 4); stub.AddUnit(FormationType.Attack, 1, 5); stub.AddUnit(FormationType.Attack, 2, 10); var units = stub.ToUnitList(FormationType.Attack); Assert.True(units.Count == 2); Assert.True(units[0].Type == 1); Assert.True(units[0].Count == 5); Assert.True(units[1].Type == 2); Assert.True(units[1].Count == 10); }
public void MoveFromBattleToNormal(CityBattleProcedure cityBattleProcedure, IGlobal global, TroopStub stub) { Global.Current = global; Global.Current.FireEvents.Returns(false); stub.AddFormation(FormationType.Normal); stub.AddFormation(FormationType.Garrison); stub.AddFormation(FormationType.InBattle); stub.AddUnit(FormationType.Normal, 101, 10); cityBattleProcedure.MoveUnitFormation(stub, FormationType.Normal, FormationType.InBattle); cityBattleProcedure.MoveUnitFormation(stub, FormationType.InBattle, FormationType.Normal); Assert.True(stub[FormationType.Normal].Type == FormationType.Normal); Assert.True(stub[FormationType.InBattle].Type == FormationType.InBattle); }
public void TestMoveFromBattleToNormal(TroopStub stub) { Global.Current = Substitute.For <IGlobal>(); Global.Current.FireEvents.Returns(false); stub.AddFormation(FormationType.Normal); stub.AddFormation(FormationType.Garrison); stub.AddFormation(FormationType.InBattle); stub.AddUnit(FormationType.Normal, 101, 10); var fixture = FixtureHelper.Create(); var procedure = fixture.Create <CityBattleProcedure>(); procedure.MoveUnitFormation(stub, FormationType.Normal, FormationType.InBattle); procedure.MoveUnitFormation(stub, FormationType.InBattle, FormationType.Normal); Assert.True(stub[FormationType.Normal].Type == FormationType.Normal); Assert.True(stub[FormationType.InBattle].Type == FormationType.InBattle); }