Impl: Convert index
This commit is contained in:
@@ -58,7 +58,11 @@ impl Playfield {
|
||||
pub fn get_field(&self, row: usize, col: usize) -> &Field {
|
||||
&self.fields[row][col]
|
||||
}
|
||||
pub fn convert_index(&self, index: usize) -> (usize, usize) {}
|
||||
pub fn convert_index(&self, index: usize) -> (usize, usize) {
|
||||
let row = index / self.size;
|
||||
let col = index % self.size;
|
||||
(row, col)
|
||||
}
|
||||
}
|
||||
|
||||
impl fmt::Display for Playfield {
|
||||
@@ -135,9 +139,13 @@ mod tests {
|
||||
assert_eq!(row_2, 1);
|
||||
assert_eq!(col_2, 1);
|
||||
|
||||
let (row_2, col_2) = playfield.convert_index(9);
|
||||
let (row_2, col_2) = playfield.convert_index(8);
|
||||
assert_eq!(row_2, 2);
|
||||
assert_eq!(col_2, 2);
|
||||
|
||||
let (row_2, col_2) = playfield.convert_index(3);
|
||||
assert_eq!(row_2, 1);
|
||||
assert_eq!(col_2, 0);
|
||||
}
|
||||
}
|
||||
mod parse {
|
||||
|
||||
@@ -19,6 +19,10 @@ impl SudokuSolver {
|
||||
return self.playfield.clone();
|
||||
}
|
||||
|
||||
fn solve_fields(&mut self) {
|
||||
for open_field in &self.playfield.open_fields {}
|
||||
}
|
||||
|
||||
fn populate_possible_values(&mut self) {
|
||||
for open_field in &self.playfield.open_fields {
|
||||
let row_index = open_field / self.playfield.size;
|
||||
@@ -74,7 +78,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn simple() {
|
||||
let solver = setup_solver("1 0 3 4 4 0 2 0 0 1 0 2 2 4 0 3", 4);
|
||||
let solver = &mut setup_solver("1 0 3 4 4 0 2 0 0 1 0 2 2 4 0 3", 4);
|
||||
let expected = create_test_playfield("1 2 3 4 4 3 2 1 3 1 4 2 2 4 1 3", 4);
|
||||
|
||||
let solved = solver.solve();
|
||||
|
||||
Reference in New Issue
Block a user