Oxidize
Oxidize lets you set expected outcomes on objects in unit tests (or anywhere). This allows for more fluid expression than with assertions alone and yields more readable error messages.
For example:
use *;
expect.to;
Any expectation can also be negated:
use *;
expect.to_not;
Built-in Matchers
Oxidize has of built-in matchers that you can use for all kinds of data.
Equality
use *;
expect.to;
expect.is;
expect.is;
Truthiness
use *;
;
let optimus = Transformer ;
expect.to;
;
let pigs = Paradox;
expect.to;
Substrings / Containers
use *;
expect.to;
expect.to;
Length
use *;
expect.is_not;
Options / Existence
use *;
let mut big: = vec!;
expect.is;
expect.is;
Regex
use *;
expect.to;
Inspiration
These projects were inspirational in oxidize's design (maybe they'll inspire you, too!):