use std::path::PathBuf; use natu::{FileStore, SourceFile}; fn source_file(path: &str, source: &str) -> SourceFile { SourceFile { path: PathBuf::from(path), source: source.to_owned(), } } #[test] fn added_file_can_be_retrieved_by_id() { let mut store = FileStore::default(); let id = store.add(source_file("first.nix", "{ inherit foo; }")); let file = store.get(id); assert_eq!(PathBuf::from("first.nix"), file.path); assert_eq!("{ inherit foo; }", file.source); } #[test] fn file_ids_refer_to_their_added_files() { let mut store = FileStore::default(); let first = store.add(source_file("first.nix", "first")); let second = store.add(source_file("second.nix", "second")); assert_ne!(first, second); assert_eq!("first", store.get(first).source); assert_eq!("second", store.get(second).source); }