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