From 082d11db68efa63f6da1be29cc9dc95b8f9e1735 Mon Sep 17 00:00:00 2001 From: Toby Vincent Date: Sun, 13 Nov 2022 16:39:26 -0600 Subject: test(paths): clean up path tests --- src/paths.rs | 45 ++++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/src/paths.rs b/src/paths.rs index 719eec4..8f0153c 100644 --- a/src/paths.rs +++ b/src/paths.rs @@ -54,53 +54,48 @@ impl Iterator for Paths { #[cfg(test)] mod tests { - use std::fs; - use super::*; + use std::fs; #[test] fn test_iteration() { - let test_dir = tempfile::Builder::new() + let temp_dir = tempfile::Builder::new() .tempdir() - .expect("Failed to create tmp directory"); - - let test_path = test_dir.path().to_owned(); - - let mut projects = Vec::from([ - test_path.join("projects"), - test_path.join("projects/project1"), - test_path.join("projects/project2"), - test_path.join("project3"), - test_path.join("other_projects/project3"), - ]); + .unwrap() + .path() + .to_owned(); - projects.iter().for_each(|project| { - fs::create_dir_all(project).expect("Failed to create test project directory"); - }); + let project_dir = temp_dir.join("project_dir"); + let project1 = temp_dir.join("project_dir/project1"); + let project2 = temp_dir.join("project_dir/project2"); + let project3 = temp_dir.join("project3"); + let project4 = temp_dir.join("subdir/project4"); - let directories = Paths::new(Vec::from([ + let paths = Paths::from(Vec::from([ PathEntry { - path: test_path.join("projects"), + path: project_dir.to_owned(), hidden: false, recurse: Some(1), }, PathEntry { - path: test_path.join("project3"), + path: project3.to_owned(), hidden: false, recurse: Some(0), }, PathEntry { - path: test_path.join("other_projects/project3"), + path: project4.to_owned(), hidden: false, recurse: Some(0), }, ])); - let mut actual = directories.into_iter().collect::>(); + let mut path_bufs = Vec::from([project_dir, project1, project2, project3, project4]); + path_bufs.iter().try_for_each(fs::create_dir_all).unwrap(); + path_bufs.sort(); - projects.sort(); - actual.sort(); + let mut results = paths.into_iter().collect::>(); + results.sort(); - assert_eq!(projects, actual); + assert_eq!(path_bufs, results); } } -- cgit v1.2.3-70-g09d2