public void TestClearBoard() { var board = new Board(); var hashGenerator = new BoardHash(); // First check if the newly created board is empty Assert.AreEqual(_emptyHash, hashGenerator.GetHash(board)); // Change the board to see if they're not empty board.SetBoardValue(1, 1, new BoardValue(1)); Assert.AreNotEqual(_emptyHash, hashGenerator.GetHash(board)); // Clear and check if it's empty board.Clear(); Assert.AreEqual(_emptyHash, hashGenerator.GetHash(board)); }
public void TestGenerateEmptyBoard() { var hashGenerator = new BoardHash(); var board = new Board(); var hash = hashGenerator.GetHash(board); Assert.AreEqual(_emptyHash, hash); }
// Solve the board public Board Solve(Board board) { Attempts = 0; var hash = _boardHash.GetHash(board); Board result; do { result = GetRandomBoard(hash); Attempts++; } while (!_boardValidator.IsComplete(result)); return(result); }
public void TestLoadBoardFromHash() { var hashGenerator = new BoardHash(); var hash = String.Empty; for (int line = 0; line < 9; line++) { for (int column = 0; column < 9; column++) { hash += column + 1; } } var board = hashGenerator.LoadFromHash(hash); Assert.AreEqual(hash, hashGenerator.GetHash(board)); }