use std::fs::{self, File}; use std::path::Path; use mgart::Algorithms; #[test] fn parse_examples() { let mut files = Vec::new(); find_json_files_recursively(Path::new("examples"), &mut files); for file in files { let _algorithms: Algorithms = serde_json::from_reader(File::open(file).unwrap()).unwrap(); } } fn find_json_files_recursively(d: &Path, res: &mut Vec>) { if d.is_dir() { for entry in fs::read_dir(d).unwrap() { let entry = entry.unwrap(); if entry.file_type().unwrap().is_file() { let extension = entry.file_name().into_string().unwrap(); let extension = extension.split('.').last().unwrap(); if extension == "json" { res.push(entry.path().into_boxed_path()); } } else if entry.file_type().unwrap().is_dir() { find_json_files_recursively(entry.path().as_path(), res); } } } }