#[macro_export]
macro_rules! assert_as_str_eq {
($expected:expr, $actual:expr) => {
let expected_arg = &$expected;
let actual_arg = &$actual;
let expected = {
use $crate::base_traits::AsStr as _;
expected_arg.as_str()
};
let actual = {
use $crate::base_traits::AsStr as _;
actual_arg.as_str()
};
assert_eq!(expected, actual);
};
($expected:expr, $actual:expr, $($arg:tt)+) => {
let expected_arg = &$expected;
let actual_arg = &$actual;
let expected = {
use $crate::base_traits::AsStr as _;
expected_arg.as_str()
};
let actual = {
use $crate::base_traits::AsStr as _;
actual_arg.as_str()
};
assert_eq!(expected, actual, $($arg)+);
};
}
#[macro_export]
macro_rules! assert_as_str_ne {
($expected:expr, $actual:expr) => {
let expected_arg = &$expected;
let actual_arg = &$actual;
let expected = {
use $crate::base_traits::AsStr as _;
expected_arg.as_str()
};
let actual = {
use $crate::base_traits::AsStr as _;
actual_arg.as_str()
};
assert_ne!(expected, actual);
};
($expected:expr, $actual:expr, $($arg:tt)+) => {
let expected_arg = &$expected;
let actual_arg = &$actual;
let expected = {
use $crate::base_traits::AsStr as _;
expected_arg.as_str()
};
let actual = {
use $crate::base_traits::AsStr as _;
actual_arg.as_str()
};
assert_ne!(expected, actual, $($arg)+);
};
}