tree-type 0.4.5

Rust macros for creating type-safe filesystem tree structures
Documentation
#![allow(deprecated)]

use tree_type::GenericDir;
use tree_type::dir_type;
use tree_type::tree_type;

dir_type!(SimpleDir);

tree_type! {
    TestRoot {
        data/ as DataDir
    }
}

#[cfg(feature = "walk")]
#[test]
fn test_generic_dir_has_lsl() {
    let generic = GenericDir::new("/tmp/test").unwrap();

    let _lsl_result = generic.lsl();
    let _walk_dir = generic.walk_dir();
    let _walk = generic.walk();
    let _size = generic.size_in_bytes();
}

#[cfg(feature = "walk")]
#[test]
fn test_generated_types_have_lsl() {
    let simple = SimpleDir::new("/tmp/test").unwrap();
    let root = TestRoot::new("/tmp/test").unwrap();
    let data = root.data();

    let _lsl1 = simple.lsl();
    let _lsl2 = root.lsl();
    let _lsl3 = data.lsl();
}

#[test]
fn test_basic_methods_exist() {
    let generic = GenericDir::new("/tmp/test").unwrap();
    let simple = SimpleDir::new("/tmp/test").unwrap();
    let root = TestRoot::new("/tmp/test").unwrap();

    // These should all work
    let _exists1 = generic.exists();
    let _exists2 = simple.exists();
    let _exists3 = root.exists();

    let _path1 = generic.as_path();
    let _path2 = simple.as_path();
    let _path3 = root.as_path();

    let _generic1 = generic.as_generic();
    let _generic2 = simple.as_generic();
    let _generic3 = root.as_generic();
}