public void WhenPositionIsOccupied_ShouldReturnOccupant() { var ship = new DummyShip(1); var occupiedCoordinates = new Coordinates(0, 0); var subject = CreateBoard(CreatePosition(occupiedCoordinates, occupant: ship)); subject.Check(occupiedCoordinates).Ship.Should().Be(ship); }
public void ShouldPutPositionsOnBoard() { var coordinates = new Coordinates(5, 5); var ship = new DummyShip(1); A.CallTo(() => _shipPositionerDouble.CreatePositions(A <List <Ship> > ._)).Returns( new List <Position> { new Position(coordinates, ship) }); _subject.Initialize().Check(coordinates).Ship.Should().Be(ship); }
public void WhenAllShipsAreSunk_ShouldBeConquered() { var firstShot = new Coordinates(0, 0); var secondShot = new Coordinates(1, 1); var thirdShot = new Coordinates(1, 2); var doubleMastedShip = new DummyShip(2); var subject = new Board( new List <Position> { new Position(new Coordinates(0, 1), null), new Position(firstShot, new DummyShip(1)), new Position(secondShot, doubleMastedShip), new Position(thirdShot, doubleMastedShip) }); subject.Check(firstShot); subject.Check(secondShot); subject.Check(thirdShot); subject.IsConquered.Should().BeTrue(); }