public void SudokuFilePuzzleProvider_IgnoresCommentsAndEmptyLines_WorksWithAllFormats_Test() { var filePath = Path.GetTempFileName(); File.WriteAllText(filePath, $"#comment{Environment.NewLine} #comment{Environment.NewLine} {Environment.NewLine}"); var separators = new[] { ",", " ", "\t", "" }; var sudoku = new int[9, 9]; sudoku[1, 2] = 5; foreach (var separator in separators) { SaveSudokuUsingSeparator(sudoku, separator, filePath); var provider = new SudokuFilePuzzleProvider(filePath); var sudokuPuzzle = provider.GetPuzzle(); Assert.That(sudokuPuzzle[1, 2], Is.EqualTo(5)); } File.Delete(filePath); }
private SudokuPuzzle OnLoadGame() { var openFileDialog = new OpenFileDialog { CheckFileExists = true, Filter = DialogFilter }; if (openFileDialog.ShowDialog() == true) { try { var sudoku = new SudokuFilePuzzleProvider(openFileDialog.FileName).GetPuzzle(); return(new SudokuPuzzle(sudoku)); } catch (Exception) { MessageBox.Show(this, $"Failed to load sudoku puzzle from file:\r\n{openFileDialog.FileName}", "Error loading Sudoku", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.None); } } return(null); }