clineup 0.2.5

A command-line utility for organizing media files
Documentation
#[cfg(test)]
mod tests {
    use std::path::PathBuf;

    use clineup::path::formatter::PathFormatter;
    use clineup::path::parser::{map_placeholders_to_enums, parse_placeholders};

    #[test]
    fn test_instantiate() {
        let path_to_format = "tests/data/output/{%year}/{%camera_brand|camera_model}".to_string();
        let _placeholders = parse_placeholders(&path_to_format);
        let placeholders = map_placeholders_to_enums(&_placeholders);
        PathFormatter::new(&path_to_format, &placeholders, None, false);
    }
    #[test]
    fn test_get_formatted_path() {
        let path = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
            .join("tests/data/Paris-20230304-duplicated.jpg");
        let path_to_format =
            "tests/data/output/{%typo}_{%year}/{%camera_brand|%camera_model}/{%camera_brand|fallback}"
                .to_string();
        let _placeholders = parse_placeholders(&path_to_format);
        let placeholders = map_placeholders_to_enums(&_placeholders);
        let mut path_formatter = PathFormatter::new(&path_to_format, &placeholders, None, false);
        let formatted_path = path_formatter.get_formatted_path(&path);
        let expected_path = PathBuf::from("tests/data/output/%typo_2023/rusttest/fallback");
        assert!(formatted_path.is_ok());
        assert!(formatted_path.unwrap() == expected_path);
    }
    #[test]
    fn test_get_formatted_path_empty() {
        let path = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
            .join("tests/data/Paris-20230304-duplicated.jpg");
        let path_to_format = "".to_string();
        let _placeholders = parse_placeholders(&path_to_format);
        let placeholders = map_placeholders_to_enums(&_placeholders);
        let mut path_formatter = PathFormatter::new(&path_to_format, &placeholders, None, false);
        let formatted_path = path_formatter.get_formatted_path(&path);
        let expected_path = PathBuf::from("");
        assert!(formatted_path.is_ok());
        assert!(formatted_path.unwrap() == expected_path);
    }
}