Macro writeable::assert_writeable_eq [−][src]
macro_rules! assert_writeable_eq {
($expected_str : expr, $actual_writeable : expr $(,) ?) => { ... };
($expected_str : expr, $actual_writeable : expr, $($arg : tt) +) => { ... };
}
Expand description
Testing macro for types implementing Writeable. The first argument should be a string, and
the second argument should be a &dyn Writeable
.
The macro tests for equality of both string content and string length. If your Writeable implementation returns an inexact string length, don’t use this macro.
Examples
use writeable::Writeable;
use writeable::LengthHint;
use writeable::assert_writeable_eq;
use std::fmt;
struct Demo;
impl Writeable for Demo {
fn write_to<W: fmt::Write + ?Sized>(&self, sink: &mut W) -> fmt::Result {
sink.write_str("foo")
}
fn write_len(&self) -> LengthHint {
LengthHint::Exact(3)
}
}
assert_writeable_eq!("foo", &Demo);
assert_writeable_eq!("foo", &Demo, "Message: {}", "Hello World");