[−][src]Struct spielrs_diff::tree::Tree
Represent a tree directory
Fields
name: String
path: String
subdir: Option<Vec<Tree>>
Trait Implementations
impl Clone for Tree
[src]
impl Debug for Tree
[src]
impl PartialEq<Tree> for Tree
[src]
impl StructuralPartialEq for Tree
[src]
impl TreeBuilder for Tree
[src]
fn build_tree<'async_trait>(
dir_path: String,
excluding: Option<Vec<String>>,
recursive_excluding: bool
) -> Pin<Box<dyn Future<Output = Vec<Tree>> + Send + 'async_trait>>
[src]
dir_path: String,
excluding: Option<Vec<String>>,
recursive_excluding: bool
) -> Pin<Box<dyn Future<Output = Vec<Tree>> + Send + 'async_trait>>
Build a vector of Tree
You can exclude directories or files only from the root path
of the directory or recursively in the building
Example
use spielrs_diff::tree::{Tree, TreeBuilder}; #[tokio::main] async fn main() { let dir_one = Tree::build_tree( "./mocks/dir_one".to_string(), Some(vec!["purpose".to_string()]), true ).await; println!("{:#?}", dir_one); }
fn tree_diff(dir_tree: Vec<Tree>, dir_tree_comp: Vec<Tree>) -> bool
[src]
Compare two tree directories and return true if are different
Example
use spielrs_diff::tree::{Tree, TreeBuilder}; #[tokio::test] async fn should_return_false_equal_dir_tree() { let dir_one = Tree::build_tree("./mocks/dir_one".to_string(), None, false).await; let dir_two = Tree::build_tree("./mocks/dir_two".to_string(), None, false).await; let diff = Tree::tree_diff(dir_one, dir_two); assert_eq!(diff, false); }
fn get_content_files<'async_trait>(
dir_tree: Vec<Tree>
) -> Pin<Box<dyn Future<Output = Vec<String>> + Send + 'async_trait>>
[src]
dir_tree: Vec<Tree>
) -> Pin<Box<dyn Future<Output = Vec<String>> + Send + 'async_trait>>
Get the content by string of all the files in one tree directory
Example
use spielrs_diff::tree::{Tree, TreeBuilder}; #[tokio::test] async fn should_return_all_file_content() { let dir_one = Tree::build_tree("./mocks/dir_one".to_string(), None, false).await; let content = Tree::get_content_files(dir_one).await; assert_eq!( content, vec!( "Hello world", "print(\"This line will be printed.\")", "new language", "fn main() {\n println(\"hello world\")\n}\n", ) ) }
fn compare_dir_content(
dir_content: Vec<String>,
dir_content_comp: Vec<String>
) -> bool
[src]
dir_content: Vec<String>,
dir_content_comp: Vec<String>
) -> bool
compare all the content from two tree directories and return true if both are equal
Example
use spielrs_diff::tree::{Tree, TreeBuilder}; #[tokio::test] async fn should_return_true_if_both_dir_content_are_equal() { let dir_one = Tree::build_tree("./mocks/dir_one".to_string(), None, false).await; let content_one = Tree::get_content_files(dir_one).await; let dir_two = Tree::build_tree("./mocks/dir_two".to_string(), None, false).await; let content_two = Tree::get_content_files(dir_two).await; assert_eq!(Tree::compare_dir_content(content_one, content_two), true); }
Auto Trait Implementations
impl RefUnwindSafe for Tree
impl Send for Tree
impl Sync for Tree
impl Unpin for Tree
impl UnwindSafe for Tree
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,