use assertables::*;
#[test]
fn less_than() {
let a = 1;
let b = 2;
assert!(a < b);
assert_lt!(a, b);
assert_infix!(a < b);
}
#[test]
fn numbers_nearness() {
let a = 10;
let b = 12;
let delta = 2;
assert!(i32::abs(a - b) <= delta);
assert_in_delta!(a, b, delta);
}
#[test]
fn absolute_difference() {
let a = 10;
let b = 13;
let delta = 4;
assert!(i32::abs(a - b) < delta);
assert_abs_diff_lt!(a, b, delta);
}
#[test]
fn verify_ok() {
let a: Result<i8, i8> = Ok(1);
assert!(a.is_ok());
assert_ok!(a);
}
#[test]
fn compare_text_file_to_string() {
let path = "alfa.txt";
let s = "alfa\n";
assert_eq!(std::fs::read_to_string(path).unwrap(), s);
assert_fs_read_to_string_eq_x!(path, s);
}
#[test]
fn verify_command_stdout_contains_text() {
use std::process::Command;
let mut command = Command::new("echo");
command.args(["alfa"]);
let containee = "fa";
assert!(String::from_utf8(command.output().unwrap().stdout).unwrap().contains(containee));
assert_command_stdout_string_contains!(command, containee);
}