use std::fs::File; use std::io::BufReader; use std::path::Path; use zen_engine::loader::{FilesystemLoader, FilesystemLoaderOptions}; use zen_engine::model::DecisionContent; #[allow(dead_code)] pub fn test_data_root() -> String { let cargo_root = Path::new(env!("CARGO_MANIFEST_DIR")); cargo_root .parent() .unwrap() .parent() .unwrap() .join("test-data") .to_string_lossy() .to_string() } pub fn load_raw_test_data(key: &str) -> BufReader { let file = File::open(Path::new(&test_data_root()).join(key)).unwrap(); BufReader::new(file) } #[allow(dead_code)] pub fn load_test_data(key: &str) -> DecisionContent { serde_json::from_reader(load_raw_test_data(key)).unwrap() } #[allow(dead_code)] pub fn create_fs_loader() -> FilesystemLoader { FilesystemLoader::new(FilesystemLoaderOptions { keep_in_memory: false, root: test_data_root(), }) }