1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
use matchers::Matcher; use dsl::*; mod matchers; mod dsl; use std::fmt::Debug; pub struct Expectation<Lhs: Debug>(Lhs); impl<Lhs: Debug> Expectation<Lhs> { pub fn is<T>(&self, matcher: Box<T>) where T: Matcher<Lhs> { self.to(matcher) } pub fn to<T>(&self, matcher: Box<T>) where T: Matcher<Lhs> { if !matcher.matches(&self.0) { panic!(matcher.fail_msg(&self.0)) } } }