示例#1
0
        public void AddShip_ShouldAddAShip()
        {
            var board      = new Board(10);
            var ship       = ShipFactory.NewBatteship();
            var coordinate = new Coordinate(3, 3);
            var result     = board.AddShip(ship, coordinate, Direction.Horizontal);

            Assert.IsTrue(result);
        }
示例#2
0
        public void AddShip_ShouldNotAdd_IfShipFallsOutsideBoundary()
        {
            var board = new Board(10);
            var ship  = ShipFactory.NewBatteship();

            var coordinate = new Coordinate(0, 9);
            var result     = board.AddShip(ship, coordinate, Direction.Horizontal);

            Assert.IsFalse(result);
        }
示例#3
0
        public void TakeAttack_ShouldReturnHit_IfHit()
        {
            //arrange
            var board = new Board(10);
            var ship  = ShipFactory.NewBatteship();

            var coordinate = new Coordinate(5, 1);

            board.AddShip(ship, coordinate, Direction.Horizontal);

            //act
            var result = board.TakeAttack(new Coordinate(5, 3));

            //assert
            Assert.IsTrue(result.IsHit);
        }
示例#4
0
        public void AddShip_ShouldNotAdd_IfSpotIsNotEmpty()
        {
            //arrange
            var board = new Board(10);
            var ship  = ShipFactory.NewBatteship();

            var coordinate = new Coordinate(5, 1);
            var result     = board.AddShip(ship, coordinate);

            //act
            ship       = ShipFactory.NewBatteship();
            coordinate = new Coordinate(3, 1);
            result     = board.AddShip(ship, coordinate);

            //assert
            Assert.IsFalse(result);
        }