extern crate rspec;
pub fn main() {
rspec::run(&rspec::given("a value of zero", 0, |ctx| {
ctx.then("it is zero", |value| {
assert_eq!(*value, 0);
});
ctx.when("multiplying by itself", |ctx| {
ctx.before(|value| {
*value *= *value;
});
ctx.then("it remains zero", |value| {
assert_eq!(*value, 0);
});
});
ctx.when("adding a value to it", |ctx| {
ctx.before(|value| {
*value += 42;
});
ctx.then("it becomes said value", |value| {
assert_eq!(*value, 42);
});
});
}));
}