public void RoundEngine_EndRound_Default_Should_Pass()
        {
            // Arrange
            var Character = new CharacterModel
            {
                Speed           = 20,
                Level           = 1,
                CurrentHealth   = 1,
                TotalExperience = 1,
                Name            = "Z",
                Id = "me"
            };

            // Add each model here to warm up and load it.
            Game.Helpers.DataSetsHelper.WarmUp();

            Engine.CharacterList.Clear();
            Engine.CharacterList.Add(Character);

            // Make the List
            Engine.EntityList = Engine.MakeEntityList();

            // Act
            var result = Engine.EndRound();

            // Reset

            // Assert
            Assert.AreEqual(true, result);
        }
        public void RoundEngine_EndRound_Default_Should_Pass()
        {
            Engine.MonsterList.Clear();

            // Both need to be character to fall through to the Name Test
            // Arrange
            var Character = new CharacterModel
            {
                Speed           = 20,
                Level           = 1,
                CurrentHealth   = 1,
                ExperienceTotal = 1,
                Name            = "Z",
                ListOrder       = 1,
                Guid            = "me"
            };

            // Add each model here to warm up and load it.
            Game.Helpers.DataSetsHelper.WarmUp();

            Engine.CharacterList.Clear();
            Engine.CharacterList.Add(new PlayerInfoModel(Character));

            // Make the List
            Engine.PlayerList = Engine.MakePlayerList();

            // Act
            var result = Engine.EndRound();

            // Reset

            // Assert
            Assert.AreEqual(true, result);
        }
        public void RoundEngine_ClearList_PotionsPool_Should_Pass()
        {
            //Arrange
            //populating Potions Potion pool
            Engine.populatePotionsList();

            //adding a character to the potions pool
            BaseMonster monster = new BaseMonster();

            Engine.NewRound();

            //Act
            Engine.EndRound();
            //Reset

            //Assert
            Assert.AreEqual(Engine.potionPool.Count, 0);
        }
        public void HakathonScenario_31_Monster_Multiplied_Should_Pass()
        {
            /*
             * Scenario Number:
             *      #31
             *
             * Description:
             *      Every round past 100 the monsters stats are multiplied by 10
             *
             * Changes Required (Classes, Methods etc.)  List Files, Methods, and Describe Changes:
             *      RoundEngine.cs
             *      AddMonstersToRound()
             *
             * Test Algrorithm:
             *      set the roundcount to 101 in the scoremodel held by BattleEngine
             *      Add Monsters to round with base stats of 10
             *      Validate the stats are now 100
             *
             * Test Conditions:
             *      Round Count >100
             *
             *
             * Validation:
             *      Validate the stats of the monster added are all 100
             */


            //Arrange
            Engine.BattleScore.RoundCount = 101;
            var saveList = Engine.MonsterList;

            Engine.MonsterList.Clear();

            var Monster = new BaseMonster
            {
                Speed      = 10,
                CurrHealth = 10,
                MaxHealth  = 10,
                Attack     = 10,
                Defense    = 10,
                Name       = "A",
            };

            var MonsterPlayer = new PlayerInfoModel(Monster);

            Engine.MonsterList.Add(MonsterPlayer);
            Engine.MaxNumberPartyMonsters = 1;
            //Act
            Engine.AddMonstersToRound();
            var result = Engine.MonsterList;

            //Reset
            Engine.EndRound();
            Engine.MonsterList            = saveList;
            Engine.BattleScore.RoundCount = 0;

            bool All_Equals_100 = true;

            foreach (PlayerInfoModel monster in result)
            {
                if (monster.Attack != 100 || monster.Defense != 100 || monster.Speed != 100 ||
                    monster.CurrHealth != 100 || monster.MaxHealth != 100)
                {
                    All_Equals_100 = false;
                }
            }
            //Assert

            Assert.AreEqual(true, All_Equals_100);
        }