Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }