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 {
|
fn create_test_playfield(input: &str, size: usize) -> Playfield {
|
||||||
Playfield::new(&input.to_string(), size)
|
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 {
|
mod solve {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn simple() {
|
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 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);
|
assert_eq!(solved, expected);
|
||||||
}
|
}
|
||||||
@@ -63,13 +67,21 @@ mod tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn simple() {
|
fn simple() {
|
||||||
let playfield = create_test_playfield("1 2 0 1 2 0 1 2 0", 3);
|
let solver = setup_solver("1 2 0 3 0 0 0 0 0", 3);
|
||||||
let expected = vec![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 =
|
let possible_values_row_1 =
|
||||||
SudokuSolver::new(&playfield).possible_values_from_row(&playfield.fields[0]);
|
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