Exemplo n.º 1
0
        public void TestMapConfirmation()
        {
            //use tile 0,0, since there are no units there.
            List <string> expectedActions = new List <string>
            {
                "Units",
                "Save",
                "End"
            };
            //we don't test navigating the menu, because that's UI and will be handled in Unity.
            //Instead, we have separate "Display Units", "Save", and "End Turn" test methods

            MenuOpenedAction mapOptions = session.OnConfirmationInputReceived(0, 0)[0] as MenuOpenedAction;

            Assert.IsNotNull(mapOptions, "Map Options was null");

            foreach (string s in mapOptions.OpenedMenu.Actions)
            {
                Assert.IsTrue(expectedActions.Contains(s), "Expected action did not contain: " + s);
            }

            foreach (string s in expectedActions)
            {
                Assert.IsTrue(mapOptions.OpenedMenu.Actions.Contains(s), "Map Options contained additionally: " + s);
            }
        }
Exemplo n.º 2
0
        public void TestUnitOrderAttackAfterMove()
        {
            session.StartTurn(session.PlayerTeam);

            //select Hector
            session.OnConfirmationInputReceived(20, 13);

            //move two squares north
            session.OnPositionHover(20, 14);
            session.OnPositionHover(20, 15);             //there should be an "Eastern Merc" directly north of us"

            //we should have both "Attack" and "Wait"
            MenuOpenedAction unitOptions = session.OnConfirmationInputReceived(20, 15)[0] as MenuOpenedAction;

            Assert.IsNotNull(unitOptions, "Did not get the unit menu as expected");
            Assert.AreEqual(unitOptions.OpenedMenu.MenuType, MenuTypes.Unit, "Did not get a unit menu");
            Assert.IsTrue(unitOptions.OpenedMenu.Actions.Contains("Attack"), "Did not have Attack as expected");

            //select "Attack"
            AttackDetailsMenuData attackMenu = (session.OnConfirmationInputReceived(MenuTypes.Unit, "Attack")[0] as MenuOpenedAction).OpenedMenu as AttackDetailsMenuData;

            Assert.IsNotNull(attackMenu, "Did not get the attack details menu as expected");
            Assert.AreEqual(attackMenu.MenuType, MenuTypes.AttackDetails, "Did not get a attack details menu");
            Assert.IsTrue(attackMenu.Actions.Contains("Attack"), "Did not have Attack as expected");

            //Trigger the attack
            List <GameAction>          attackResults = session.OnConfirmationInputReceived(MenuTypes.AttackDetails, "Attack");
            CombatHitAction            cha           = attackResults[0] as CombatHitAction;
            CombatDefenderDefeatAction cdda          = attackResults[1] as CombatDefenderDefeatAction;

            Assert.IsNotNull(cha, "Hector did not Hit");
            Assert.IsNotNull(cdda, "Hector did not win outright.");
            Assert.IsTrue(attackResults.Count > 3, "Did not include move actions");
        }
Exemplo n.º 3
0
        public void TestUnitSelection()
        {
            session.StartTurn(session.PlayerTeam);

            //we don't test navigating the menu, because that's UI and will be handled in Unity.
            //First confirm that we can't select someone who's on the wrong team

            MenuOpenedAction mapOptions = session.OnConfirmationInputReceived(1, 10)[0] as MenuOpenedAction;

            Assert.IsNotNull(mapOptions, "Mistakenly selected Erik. It's not his turn");
            Assert.IsTrue(mapOptions.OpenedMenu.MenuType == MenuTypes.Map, "Did not open map on enemy unit");

            MenuOpenedAction mapOptions2 = session.OnConfirmationInputReceived(20, 13)[0] as MenuOpenedAction;

            Assert.IsNull(mapOptions2, "Somehow wound up with a menu instead of Hector");
        }
Exemplo n.º 4
0
        public void TestUnitOrderWaitInPlace()
        {
            session.StartTurn(session.PlayerTeam);

            //select Hector
            UnitSelectedAction hectorEntity = session.OnConfirmationInputReceived(20, 13)[0] as UnitSelectedAction;

            Assert.IsNotNull(hectorEntity, "Did not select Hector");

            //re-select Hector's square to "move" him there.
            MenuOpenedAction unitOptions = session.OnConfirmationInputReceived(20, 13)[0] as MenuOpenedAction;

            Assert.IsNotNull(unitOptions, "Did not get the unit menu as expected");
            Assert.AreEqual(unitOptions.OpenedMenu.MenuType, MenuTypes.Unit, "Did not get a unit menu");
            Assert.IsTrue(unitOptions.OpenedMenu.Actions.Contains("Wait"), "Did not have Wait as expected");

            //select "Wait"
            UnitWaitAction waitCommand = session.OnConfirmationInputReceived(MenuTypes.Unit, "Wait")[0] as UnitWaitAction;

            Assert.IsNotNull(waitCommand);
        }