Impl: Get possible values from row

This commit is contained in:
Jonas Zeunert
2024-02-19 18:59:42 +01:00
parent beaa3cfd61
commit d89a544998

View File

@@ -44,15 +44,19 @@ mod tests {
fn create_test_playfield(input: &str, size: usize) -> Playfield {
Playfield::new(&input.to_string(), size)
}
fn setup_solver(input: &str, size: usize) -> SudokuSolver {
let playfield = create_test_playfield(input, size);
SudokuSolver::new(&playfield)
}
mod solve {
use super::*;
#[test]
fn simple() {
let playfield = create_test_playfield("1 2 3 2 3 1 3 1 0", 3);
let solver = setup_solver("1 2 3 2 3 1 3 1 0", 3);
let expected = create_test_playfield("1 2 3 2 3 1 3 1 2", 3);
let solved = SudokuSolver::new(&playfield).solve();
let solved = solver.solve();
assert_eq!(solved, expected);
}
@@ -63,13 +67,21 @@ mod tests {
#[test]
fn simple() {
let playfield = create_test_playfield("1 2 0 1 2 0 1 2 0", 3);
let expected = vec![3];
let solver = setup_solver("1 2 0 3 0 0 0 0 0", 3);
let expected_row_1 = vec![3];
let expected_row_2 = vec![1, 2];
let expected_row_3 = vec![1, 2, 3];
let possible_values =
SudokuSolver::new(&playfield).possible_values_from_row(&playfield.fields[0]);
let possible_values_row_1 =
solver.possible_values_from_row(&solver.playfield.fields[0]);
let possible_values_row_2 =
solver.possible_values_from_row(&solver.playfield.fields[1]);
let possible_values_row_3 =
solver.possible_values_from_row(&solver.playfield.fields[2]);
assert_eq!(possible_values, expected);
assert_eq!(possible_values_row_1, expected_row_1);
assert_eq!(possible_values_row_2, expected_row_2);
assert_eq!(possible_values_row_3, expected_row_3);
}
}
}