public void RotateBoardCounterClockwise() { //Arrange int? _ = null; var board = new int?[9, 9] { {_, _, 2, _, _, _, 8, _, _}, {1, _, _, 2, _, _, _, 4, _}, {3, _, 6, 8, _, _, 7, 2, _}, {_, _, 5, 3, _, _, _, _, 8}, {_, 2, _, _, _, _, _, 9, _}, {6, _, _, _, _, 1, 5, _, _}, {_, 5, 7, _, _, 3, 2, _, 1}, {_, 1, _, _, _, 7, _, _, 6}, {_, _, 3, _, _, _, 4, _, _} }; var model = new BoardViewModel(); model.NewPuzzle(board); //Act model.Rotate(BoardViewModel.RotateDirection.CounterClockwise); //Assert Assert.AreEqual(null, model.Cells[0][0].Number); Assert.AreEqual(8, model.Cells[0][3].Number); Assert.AreEqual(4, model.Cells[1][1].Number); Assert.AreEqual(7, model.Cells[6][6].Number); Assert.AreEqual(5, model.Cells[7][6].Number); Assert.AreEqual(3, model.Cells[6][8].Number); }
public void TestBlockRoot() { BoardViewModel model = new BoardViewModel(); model.NewPuzzle(SampleData.StarterPuzzles[0]); Assert.IsTrue(model.GetBlockRootIndex(new Point(0,0)) == new Point(0,0)); Assert.IsTrue(model.GetBlockRootIndex(new Point(8, 8)) == new Point(6,6)); }
public void TestBlock() { BoardViewModel model = new BoardViewModel(); model.NewPuzzle(SampleData.StarterPuzzles[0]); List<CellViewModel> cellViewModels = model.GetBlock(new Point(0,0)); Assert.IsTrue(cellViewModels[0].Number == null); Assert.IsTrue(cellViewModels[1].Number == null); Assert.IsTrue(cellViewModels[2].Number == 2); }
public void Testrow() { BoardViewModel model = new BoardViewModel(); model.NewPuzzle(SampleData.StarterPuzzles[0]); List<CellViewModel> cellViewModels = model.GetRow(0); Assert.IsTrue(cellViewModels[0].Number == null); Assert.IsTrue(cellViewModels[1].Number == null); Assert.IsTrue(cellViewModels[2].Number == 2); Assert.IsTrue(cellViewModels[3].Number == null); Assert.IsTrue(cellViewModels[4].Number == null); Assert.IsTrue(cellViewModels[5].Number == null); Assert.IsTrue(cellViewModels[6].Number == 8); Assert.IsTrue(cellViewModels[7].Number == null); Assert.IsTrue(cellViewModels[8].Number == null); }
public void SolveNotPossible() { //Arrange var model = new BoardViewModel(); model.NewPuzzle(new int?[9, 9] { {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _}, {_, _, _, _, _, _, _, _, _} }); //Act & Assert Assert.Throws<IAmStuckException>(() => model.SolvePuzzle()); }
public void SolveCell(int?[,] puzzle, int expectedX, int expectedY, int cellValue) { //Arrange var model = new BoardViewModel(); model.NewPuzzle(puzzle); //Act model.SolveNextCell(); //Assert Assert.AreEqual(cellValue, model.Cells[expectedX][expectedY].Number); }