Power Assert in Rust. Provides better assertion message.
Rust
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
src
tests
.gitignore
.travis.yml
Cargo.toml
LICENSE
README.md

README.md

power-assert-rs

Build Status MIT licensed crates.io

Power Assert in Rust. Provides better assertion message like this:

$ cargo run --example normal
     Running `target/debug/examples/normal`
thread '<main>' panicked at 'assertion failed: bar.val == bar.foo.val
power_assert!(bar.val == bar.foo.val)
              |   |   |  |   |   |
              |   3   |  |   |   2
              |       |  |   Foo { val: 2 }
              |       |  Bar { val: 3, foo: Foo { val: 2 } }
              |       false
              Bar { val: 3, foo: Foo { val: 2 } }
', examples/normal.rs:26
An unknown error occurred

To learn more, run the command again with --verbose.

How to use

Add this to your Cargo.toml:

[dependencies]
power-assert = "*"

and add this to your lib.rs or main.rs:

#![feature(plugin)]
#![plugin(power_assert)]

Now, you can use power_assert!() and power_assert_eq!().

If you want to override builtin assert!() and assert_eq!(), change your lib.rs or main.rs as follows.

#![feature(plugin)]
#![plugin(power_assert(override_builtins))]