Пример #1
0
        public void IsOver_UsersShot_True_Test()
        {
            //arrange
            Game _Game = new Game();

            _Game.CurrentActor = Actor.User;
            EnemyBattleField _EBF = _Game.EnemyBattleField;

            _EBF.ArrangeAutomatically();

            foreach (var boat in _EBF.Boats)
            {
                foreach (var cell in boat.Cells)
                {
                    cell.Style = CellStyle.DeadCell;
                }

                boat.State = BoatState.Dead;
            }

            //act
            bool result = _Game.IsOver();

            //assert
            Assert.AreEqual(result, true);
            Assert.AreEqual(_Game.Result, GameResult.Victory);
            Assert.AreEqual(_Game.Stage, GameStage.Finished);
        }
Пример #2
0
        public void IsOver_UsersShot_False_Test()
        {
            //arrange
            Game _Game = new Game();

            _Game.CurrentActor = Actor.User;
            EnemyBattleField _EBF = _Game.EnemyBattleField;

            _EBF.ArrangeAutomatically();

            //act
            bool result = _Game.IsOver();

            //assert
            Assert.AreEqual(result, false);
        }
Пример #3
0
        public void ArrangeAutomatically_Test()
        {
            //arrange
            Game             _Game = new Game();
            EnemyBattleField _EBF  = _Game.EnemyBattleField;

            //act
            _EBF.ArrangeAutomatically();

            //assert
            Assert.IsNotNull(_EBF.Boats);
            Assert.AreEqual(_EBF.Boats.Count, 10);

            int _TooLongCount = _EBF.Boats.Count(a => a.Cells.Count > 4);

            Assert.AreEqual(_TooLongCount, 0);

            int _BattlecruisersCount = _EBF.Boats.Count(a => a.Cells.Count == 4);

            Assert.AreEqual(_BattlecruisersCount, 1);

            int _CruisersCount = _EBF.Boats.Count(a => a.Cells.Count == 3);

            Assert.AreEqual(_CruisersCount, 2);

            int _DestroyersCount = _EBF.Boats.Count(a => a.Cells.Count == 2);

            Assert.AreEqual(_DestroyersCount, 3);

            int _TorpedoboatsCount = _EBF.Boats.Count(a => a.Cells.Count == 1);

            Assert.AreEqual(_TorpedoboatsCount, 4);

            //boats bend or touch
            if (!_EBF.Boats.All(b => (b.Cells.Select(c => c.x).Distinct().Count() == 1) ||
                                (b.Cells.Select(c => c.y).Distinct().Count() == 1)
                                )
                )
            {
                Assert.Fail();
            }
        }