Impl: Get possible values from row
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user