Пример #1
0
        public void IsThereAnyLiveElementOnTheEmptyMapTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>());

            map.RenderMap();
            Assert.IsFalse(map.IsThereAnyLiveElement(), "There is any live element");
        }
Пример #2
0
        public void UserInterfaceCommunicationTest()
        {
            FakeUserInterface fakeUserInterface = new FakeUserInterface();
            FakeMap           map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip(), new FakeShip(), new FakeShip()
            });

            map.RenderMap();
            Player player           = new Player(map);
            int    hitResult        = 0;
            int    hitAndSinkResult = 0;
            Game   game             = new Game(player, fakeUserInterface);

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    game.NextTurn(i, j);
                    if (fakeUserInterface.Reuslt is HitResult)
                    {
                        hitResult++;
                    }

                    if (fakeUserInterface.Reuslt is HitAndSinksResult)
                    {
                        hitAndSinkResult++;
                    }
                }
            }

            Assert.IsTrue(hitResult == 9 && hitAndSinkResult == 3, "The User interface got wrong information");
        }
Пример #3
0
        public void RenderTooSmallMapExceptionTest()
        {
            FakeMap map = new FakeMap(1, new List <LiveElement>()
            {
                new FakeShip()
            });

            map.RenderMap();
        }
Пример #4
0
        public void IsThereAnyLiveElementOnTheMapWithShipTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip()
            });

            map.RenderMap();
            Assert.IsTrue(map.IsThereAnyLiveElement(), "There is not any live element");
        }
Пример #5
0
        public void GetMapPlayerTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip(), new FakeShip()
            });

            map.RenderMap();
            Player player = new Player(map);

            Field[,] fields = player.GetMap();
            Assert.AreEqual(9, fields.GetLength(0) * fields.GetLength(1), "The map is incorrect");
        }
Пример #6
0
        public void NotYetWinnerTest()
        {
            FakeUserInterface fakeUserInterface = new FakeUserInterface();
            FakeMap           map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip(), new FakeShip(), new FakeShip()
            });

            map.RenderMap();
            Player player = new Player(map);
            Game   game   = new Game(player, fakeUserInterface);

            Assert.IsFalse(fakeUserInterface.Winner, "The player is winner");
        }
Пример #7
0
        public void CheckErrorUserInterfaceConnectionWhenEverythingIsOKTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip(), new FakeShip()
            });

            map.RenderMap();
            Player            player            = new Player(map);
            FakeUserInterface fakeUserInterface = new FakeUserInterface();
            Game game = new Game(player, fakeUserInterface);

            game.NextTurn(0, 0);
            Assert.IsFalse(fakeUserInterface.ShowErrorDone, "The error was displayed");
        }
Пример #8
0
        public void RenderMapTest()
        {
            FakeMap map = this.CreateFakeMap();

            map.RenderMap();
            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    if (map.Fields[i, j] == null)
                    {
                        Assert.Fail("Render map is failed");
                    }
                }
            }
        }
Пример #9
0
        public void HitEmptyFieldBattleMapTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>());

            map.RenderMap();
            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    if (map.Hit(i, j) is MissResult == false)
                    {
                        Assert.Fail("Hit on the map is not working correctly");
                    }
                }
            }
        }
Пример #10
0
        public void RenderMapCheckWaterTest()
        {
            FakeMap map = this.CreateFakeMap();

            map.RenderMap();
            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    if (map.Hit(i, j) is MissResult)
                    {
                        Assert.Fail("Render map is failed");
                    }
                }
            }
        }
Пример #11
0
        public void Shoot16TimesToMapTest()
        {
            FakeMap map = new FakeMap(4, new List <LiveElement>());

            map.RenderMap();
            Player player = new Player(map);

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    player.Shoot(i, j);
                }
            }
            Assert.AreEqual(16, player.Steps, "Steps on the player is not working correctly");
        }
Пример #12
0
        public void HitBattleMapTest()
        {
            FakeMap map = this.CreateFakeMap();

            map.RenderMap();
            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    ShootResult result = map.Hit(i, j);
                    if (result is HitResult == false)
                    {
                        Assert.Fail("Hit on the map is not working correctly");
                    }
                }
            }
        }
Пример #13
0
        public void HowManyShipsAreThereTest()
        {
            FakeMap map   = this.CreateFakeMap();
            int     count = 0;

            map.RenderMap();
            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    if (map.Hit(i, j) is HitAndSinksResult)
                    {
                        count++;
                    }
                }
            }
            Assert.AreEqual(3, count, "Number of ships is incorrect");
        }
Пример #14
0
        public void ShootPlayerOnTheEmptyFieldTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>());

            map.RenderMap();
            Player player = new Player(map);

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    if (player.Shoot(i, j) is MissResult == false)
                    {
                        Assert.Fail("Hit on the map is not working correctly");
                    }
                }
            }
        }
Пример #15
0
        public void WinnerTest()
        {
            FakeUserInterface fakeUserInterface = new FakeUserInterface();
            FakeMap           map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip(), new FakeShip(), new FakeShip()
            });

            map.RenderMap();
            Player player = new Player(map);
            Game   game   = new Game(player, fakeUserInterface);

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    game.NextTurn(i, j);
                }
            }
            Assert.IsTrue(fakeUserInterface.Winner, "The player is not winner");
        }
Пример #16
0
        public void ShootToDeadObjectTest()
        {
            FakeMap map = new FakeMap(3, 1, new List <LiveElement>()
            {
                new FakeShip()
            });

            map.RenderMap();
            Player player = new Player(map);

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    player.Shoot(i, j);
                }
            }
            ShootResult hitType = player.Shoot(0, 0);

            Assert.IsTrue(hitType is FieldIsHitAlreadyResult, "The Hit type is incorrectly");
        }
Пример #17
0
        public void PlayTwoTimesAndCheckBestScorePlayerTest()
        {
            FakeMap map = new FakeMap(4, new List <LiveElement>());

            map.RenderMap();
            Player player = new Player(map);

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    player.Shoot(i, j);
                }
            }
            player.SetBestSteps();
            player.RenderMap();
            player.Shoot(0, 0);
            player.SetBestSteps();

            Assert.AreEqual(1, player.BestSteps, "Best steps on the player is not working correctly");
        }
Пример #18
0
        public void ShootPlayerTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip(), new FakeShip(), new FakeShip()
            });

            map.RenderMap();
            Player player = new Player(map);

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    ShootResult result = player.Shoot(i, j);
                    if (result is HitResult == false)
                    {
                        Assert.Fail("Shoot is not working correctly");
                    }
                }
            }
        }
Пример #19
0
        public void RenderMapTest()
        {
            FakeMap map = new FakeMap(3, new List <LiveElement>()
            {
                new FakeShip(), new FakeShip()
            });

            map.RenderMap();
            int count = 0;

            for (int i = 0; i < map.Fields.GetLength(0); i++)
            {
                for (int j = 0; j < map.Fields.GetLength(1); j++)
                {
                    if (map.Hit(i, j) is HitResult)
                    {
                        count++;
                    }
                }
            }
            Assert.AreEqual(6, count, "Render map is failed");
        }