public void GenerateShipFields_ShipSize_ShouldCreateShipSizeFieldsCount() { PrepareSequenceForRandomShipsStartPoint(); _random.Setup(r => r.GetRandomNumber(NUMBER_OF_DIRECTIONS)).Returns(0); var shipSize = 4; var sut = new ShipGenerator(_random.Object); var result = sut.GenerateShipFields(shipSize); Assert.That(result, Has.Exactly(shipSize).Items); }
public void GenerateShipFields_ForRowDirection_ShouldAllFieldsHaveSameRowLetter(int rowNumber, string expectedLetter) { _random.SetupSequence(r => r.GetRandomNumber(BOARD_SIZE)) .Returns(COMMON_COLUMN_NUMBER) .Returns(rowNumber); _random.Setup(r => r.GetRandomNumber(NUMBER_OF_DIRECTIONS)).Returns((int)ShipDirection.Row); var shipSize = 3; var sut = new ShipGenerator(_random.Object); var result = sut.GenerateShipFields(shipSize); result.ForEach(f => Assert.That(f.Substring(0, 1), Is.EqualTo(expectedLetter))); }
public void GenerateShipFields_ForColumnDirection_ShouldAllFieldsHaveSameColumnNumber(int columnNumber, string expectedColumnNumberResult) { _random.SetupSequence(r => r.GetRandomNumber(BOARD_SIZE)) .Returns(columnNumber) .Returns(COMMON_ROW_NUMBER); _random.Setup(r => r.GetRandomNumber(NUMBER_OF_DIRECTIONS)).Returns((int)ShipDirection.Column); var shipSize = 3; var sut = new ShipGenerator(_random.Object); var result = sut.GenerateShipFields(shipSize); result.ForEach(f => Assert.That(f.Substring(1), Is.EqualTo(expectedColumnNumberResult))); }
public void GenerateShipFields_ShouldReturnColumnNumberStaredFromOne(int columnNumber, string expectedColumnNumberResult) { _random.SetupSequence(r => r.GetRandomNumber(BOARD_SIZE)) .Returns(columnNumber) .Returns(COMMON_ROW_NUMBER); _random.Setup(r => r.GetRandomNumber(NUMBER_OF_DIRECTIONS)).Returns(0); var shipSize = 1; var sut = new ShipGenerator(_random.Object); var result = sut.GenerateShipFields(shipSize); Assert.That(result.First().Substring(1), Is.EqualTo(expectedColumnNumberResult)); }
public void GenerateShipFields_ShouldReturnProperRowLetters(int rowNumber, string expectedLetter) { _random.SetupSequence(r => r.GetRandomNumber(BOARD_SIZE)) .Returns(COMMON_COLUMN_NUMBER) .Returns(rowNumber); _random.Setup(r => r.GetRandomNumber(NUMBER_OF_DIRECTIONS)).Returns(0); var shipSize = 1; var sut = new ShipGenerator(_random.Object); var result = sut.GenerateShipFields(shipSize); Assert.That(result.First().Substring(0, 1), Is.EqualTo(expectedLetter)); }