diff --git a/games/linkedin-1-partial.txt b/games/linkedin-1-partial.txt index 1f515d6..873059c 100644 --- a/games/linkedin-1-partial.txt +++ b/games/linkedin-1-partial.txt @@ -9,7 +9,7 @@ GGGGMMMM ...Q.... .....Q.. -Q....... +.Q...... ........ Q....... ..Q..... diff --git a/tests/reads_all_text_files.rs b/tests/reads_all_text_files.rs new file mode 100644 index 0000000..ae4cf8e --- /dev/null +++ b/tests/reads_all_text_files.rs @@ -0,0 +1,25 @@ +use std::{ffi::OsStr, fs}; + +use anyhow::Result; + +use qsolve::{file::QueensFile, solvestate::SolveState}; + +#[test] +fn reads_all_text_files() -> Result<()> { + for dir_entry in fs::read_dir("games/")? { + let dir_entry = dir_entry?; + let path = dir_entry.path(); + let extension = path.extension().and_then(OsStr::to_str); + if extension != Some("txt") { + continue; + } + let queens_file = QueensFile::try_from_text_file(&path)?; + let solve_state = SolveState::from(&queens_file); + assert!( + solve_state.is_valid(), + "Testing initial state validity for {:?}", + dir_entry.path() + ); + } + Ok(()) +}