Expand description
Assert for comparing file system path contents.
These macros help with file system paths, such as disk files, Path
,
PathBuf
, the trait AsRef<Path>
, and anything that is readable via
::std::fs::read_to_string(…)
. See tutorial below.
Compare a path with another path:
assert_fs_read_to_string_eq!(path1, path2)
≈ std::fs::read_to_string(path1) = std::fs::read_to_string(path2)assert_fs_read_to_string_ne!(path1, path2)
≈ std::fs::read_to_string(path1) ≠ std::fs::read_to_string(path2)assert_fs_read_to_string_lt!(path1, path2)
≈ std::fs::read_to_string(path1) < std::fs::read_to_string(path2)assert_fs_read_to_string_le!(path1, path2)
≈ std::fs::read_to_string(path1) ≤ std::fs::read_to_string(path2)assert_fs_read_to_string_gt!(path1, path2)
≈ std::fs::read_to_string(path1) > std::fs::read_to_string(path2)assert_fs_read_to_string_ge!(path1, path2)
≈ std::fs::read_to_string(path1) ≥ std::fs::read_to_string(path2)
Compare a path with an expression:
assert_fs_read_to_string_eq_x!(path, expr)
≈ std::fs::read_to_string(path) = exprassert_fs_read_to_string_ne_x!(path, expr)
≈ std::fs::read_to_string(path) ≠ exprassert_fs_read_to_string_lt_x!(path, expr)
≈ std::fs::read_to_string(path) < exprassert_fs_read_to_string_le_x!(path, expr)
≈ std::fs::read_to_string(path) ≤ exprassert_fs_read_to_string_gt_x!(path, expr)
≈ std::fs::read_to_string(path) > exprassert_fs_read_to_string_ge_x!(path, expr)
≈ std::fs::read_to_string(path) ≥ expr
Compare a path with its contents:
assert_fs_read_to_string_contains!(path, containee)
≈ std::fs::read_to_string(path).contains(containee)assert_fs_read_to_string_is_match!(path, matcher)
≈ matcher.is_match(::std::fs::read_to_string(path))
§Example
use assertables::*;
use std::io::Read;
let a ="alfa.txt";
let b = "alfa.txt";
assert_fs_read_to_string_eq!(&a, &b);
§Tutorial
Rust has a concept of a “file system” and a function “read to string” that makes it easy to read a file to a string:
let path = "alfa.txt";
let string = ::std::fs::read_to_string(path);
Rust can compare a file’s string to another file’s string:
let path1 = "alfa.txt";
let path2 = "bravo.txt";
let a_string = ::std::fs::read_to_string(path1).unwrap();
let b_string = ::std::fs::read_to_string(path2).unwrap();
assert_ne!(a_string, b_string);
The assertables
crate provides macros that do the reading for you:
let path1 = "alfa.txt";
let path2 = "bravo.txt";
assert_fs_read_to_string_ne!(path1, path2);
Modules§
- Assert a ::std::fs::read_to_string(path) contains a pattern.
- Assert a ::std::fs::read_to_string(path) value is equal to another.
- Assert a ::std::fs::read_to_string(path) value is equal to an expression.
- Assert a ::std::fs::read_to_string(path) value is greater than or equal to another.
- Assert a ::std::fs::read_to_string(path) value is greater than or equal to an expression.
- Assert a ::std::fs::read_to_string(path) value is greater than another.
- Assert a ::std::fs::read_to_string(path) value is greater than an expression.
- Assert a ::std::fs::read_to_string(path) is a match to a regex.
- Assert a ::std::fs::read_to_string(path) value is less than or equal to another.
- Assert a ::std::fs::read_to_string(path) value is less than or equal to an expression.
- Assert a ::std::fs::read_to_string(path) value is less than another.
- Assert a ::std::fs::read_to_string(path) value is less than an expression.
- Assert a ::std::fs::read_to_string(path) is a match to a regex.
- Assert a ::std::fs::read_to_string(path) is not equal to another.
- Assert a ::std::fs::read_to_string(path) is not equal to an expression.