assertables

Macro assert_io_read_to_string_ne_expr

source
macro_rules! assert_io_read_to_string_ne_expr {
    ($a_reader:expr, $b_expr:expr $(,)?) => { ... };
    ($a_reader:expr, $b_expr:expr, $($message:tt)+) => { ... };
}
Expand description

Assert a std::io::Read read_to_string() is not equal to an expression.

Pseudocode:
(reader.read_to_string(a) ⇒ a) ≠ (expr into string)

  • If true, return ().

  • Otherwise, call panic! with a message and the values of the expressions with their debug representations.

§Examples

use assertables::*;
use std::io::Read;

let mut reader = "alfa".as_bytes();
let value = String::from("bravo");
assert_io_read_to_string_ne_expr!(reader, &value);

let mut reader = "alfa".as_bytes();
let value = String::from("alfa");
assert_io_read_to_string_ne_expr!(reader, &value);
// assertion failed: `assert_io_read_to_string_ne_expr!(a_reader, b_expr)`
// https://docs.rs/assertables/8.11.0/assertables/macro.assert_io_read_to_string_ne_expr.html
//  a_reader label: `reader`,
//  a_reader debug: `[]`,
//    b_expr label: `&value`,
//    b_expr debug: `\"alfa\"`,
//               a: `\"alfa\"`,
//               b: `\"alfa\"`

§Module macros