#![allow(deprecated)]
use tree_type::GenericDir;
use tree_type::GenericFile;
use tree_type::file_type;
use tree_type::tree_type;
file_type!(TestFile);
tree_type! {
TestTree {
config("config.toml"),
data/
}
}
#[test]
fn test_file_to_generic() {
let file = TestFile::new("/tmp/test.txt").unwrap();
let generic: GenericFile = file.into();
assert_eq!(generic.as_path(), std::path::Path::new("/tmp/test.txt"));
}
#[test]
fn test_generic_to_file() {
let generic = GenericFile::new("/tmp/test.txt").unwrap();
let file = TestFile::from_generic(generic);
assert_eq!(file.as_path(), std::path::Path::new("/tmp/test.txt"));
}
#[test]
fn test_dir_to_generic() {
let tree = TestTree::new("/tmp/test").unwrap();
let generic: GenericDir = tree.into();
assert_eq!(generic.as_path(), std::path::Path::new("/tmp/test"));
}
#[test]
fn test_generic_to_dir() {
let generic = GenericDir::new("/tmp/test").unwrap();
let tree = TestTree::from_generic(generic);
assert_eq!(tree.as_path(), std::path::Path::new("/tmp/test"));
}
#[test]
fn test_proc_macro_file_to_generic() {
let tree = TestTree::new("/tmp/test").unwrap();
let config = tree.config();
let generic: GenericFile = config.into();
assert_eq!(
generic.as_path(),
std::path::Path::new("/tmp/test/config.toml")
);
}
#[test]
fn test_proc_macro_dir_to_generic() {
let tree = TestTree::new("/tmp/test").unwrap();
let data = tree.data();
let generic: GenericDir = data.into();
assert_eq!(generic.as_path(), std::path::Path::new("/tmp/test/data"));
}