#![feature(phase)] #![deny(warnings)] #![allow(non_snake_case)] #[phase(plugin)] extern crate stainless; #[phase(plugin, link)] extern crate enforce; describe! error_types { describe! option { describe! some { it "should check if something is Some" { (enforce!(Some(7u))).some(); } failing "should fail is something is None" { (enforce!(None::)).some(); } it "should support negation" { (enforce!(None::<()>)).not().some() } } describe! none { it "should check if something is None" { (enforce!(None::<()>)).none(); } failing "should fail is something is Some" { (enforce!(Some(7u))).none(); } it "should support negation" { (enforce!(Some(7u))).not().none() } } } describe! result { describe! ok { it "should check if something is Ok" { (enforce!(Ok::(7u))).ok(); } failing "should fail is something is Err" { (enforce!(Err::<(), uint>(7u))).ok(); } it "should support negation" { (enforce!(Err::<(), ()>(()))).not().ok() } } describe! err { it "should check if something is Err" { (enforce!(Err::<(), uint>(7u))).err(); } failing "should fail is something is Ok" { (enforce!(Ok::(7u))).err(); } it "should support negation" { (enforce!(Ok::<(), ()>(()))).not().err() } } } }