extern crate hamcrest2;
mod close_to {
use hamcrest2::prelude::*;
use std::f64;
#[test]
fn equality_of_floats() {
assert_that!(1.0f64, close_to(1.0, 0.00001));
assert_that!(1e-40f32, close_to(0.0, 0.01));
assert_that!(1e-40f32, not(close_to(0.0, 0.000_001)));
assert_that!(2.0, not(close_to(1.0f64, 0.00001)));
}
#[test]
fn it_can_handle_infinity() {
assert_that!(f64::INFINITY, close_to(f64::INFINITY, 0.00001));
}
#[test]
fn it_can_handle_nan() {
assert_that!(f64::NAN, is(not(close_to(f64::NAN, 0.00001))));
}
}