public void Get_New_game_Returns_Randomised_Sequence() { // Given a request for a grid sequence game GridSequenceGameController controller = new GridSequenceGameController(new SequencedGridService()); // When a new grid is requested with 6 rows and 3 columns GameGrid gameGrid = controller.GetNewGrid(6, 3); // Then the cell Ids are not in order gameGrid.Cells.Select(cell => cell.Id).Should().NotBeAscendingInOrder(); }
public void Get_New_Game_Returns_Grid_Of_Correct_Size() { // Given a request for a grid sequence game GridSequenceGameController controller = new GridSequenceGameController(new SequencedGridService()); // When a new grid is requested that has 3 rows and 4 columns GameGrid gameGrid = controller.GetNewGrid(3, 4); // Then it has 12 cells Assert.AreEqual(12, gameGrid.Cells.Count); }
public void Get_New_Game_Returns_Correctly_Sequenced_Values() { // Given a request for a grid sequence game GridSequenceGameController controller = new GridSequenceGameController(new SequencedGridService()); // When a new grid is requested with 4 rows and 5 columns GameGrid gameGrid = controller.GetNewGrid(4, 5); // Then the ordered values correspond to the sequence gameGrid.Cells.OrderBy(cell => cell.Value).Should().BeInAscendingOrder(cell => cell.Id); }
public void Get_New_Game_Returns_Grid_That_Has_Sequenced_Cells() { // Given a request for a grid sequence game GridSequenceGameController controller = new GridSequenceGameController(new SequencedGridService()); // When a new grid is requested with 2 rows and 2 columns GameGrid gameGrid = controller.GetNewGrid(2, 2); // Then all sequence numbers are present and correct List<Cell> expectedCells = new List<Cell> { new CellBuilder().WithId(1), new CellBuilder().WithId(2), new CellBuilder().WithId(3), new CellBuilder().WithId(4) }; gameGrid.Cells.ShouldAllBeEquivalentTo(expectedCells, options => options.Including(g => g.Id)); }
public void Get_New_Game_Returns_Correct_Number_of_Rows_And_Columns() { // Given a request for a grid sequence game GridSequenceGameController controller = new GridSequenceGameController(new SequencedGridService()); // When a new grid is requested with 3 rows and 4 columns GameGrid gameGrid = controller.GetNewGrid(3, 4); // Then we get 3 rows and 4 columns gameGrid.NumberOfRows.Should().Be(3); gameGrid.NumberOfColumns.Should().Be(4); }