#[macro_export]
macro_rules! is_true {
( $( $x:expr ),* ) => {
{
let mut result = true;
$(
result &= $x;
)*
result
}
};
}
pub fn is_true(arg: bool) -> bool {
arg
}
#[cfg(test)]
mod tests {
use crate::is_true;
#[test]
fn yes_its_true() {
assert_eq!(is_true(true), true);
assert_eq!(is_true!(true), true);
}
#[test]
fn no_its_false() {
assert_eq!(is_true(false), false);
assert_eq!(is_true!(false), false);
}
#[test]
fn multiple() {
assert_eq!(is_true!(true, true, false), false);
assert_eq!(is_true!(true, true, true), true);
}
}