use std::cmp::Ordering;
use std::hash::Hash;
use std::collections::hash_map::DefaultHasher;
use WRC;
#[test]
fn implements_fmt_debug() {
let example = WRC::new((1,2,3));
assert_eq!(format!("{:?}", example), "(1, 2, 3)");
}
#[test]
fn implemnts_fmt_display() {
let example = WRC::new(13);
assert_eq!(format!("{}", example), "13");
}
#[test]
fn implements_partial_eq() {
let wrc0 = WRC::new((1,2,3));
let wrc1 = wrc0.clone();
assert_eq!(wrc0, wrc1);
}
#[test]
fn implements_partial_ord() {
let wrc0 = WRC::new(13);
let wrc1 = WRC::new(27);
assert!(wrc0 < wrc1);
assert!(wrc0 <= wrc1);
assert!(wrc0 <= wrc0);
assert!(wrc1 > wrc0);
assert!(wrc1 >= wrc0);
assert!(wrc1 >= wrc1);
}
#[test]
fn implements_ord() {
let wrc0 = WRC::new(13);
let wrc1 = WRC::new(27);
assert_eq!(wrc0.cmp(&wrc1), Ordering::Less);
assert_eq!(wrc1.cmp(&wrc0), Ordering::Greater);
assert_eq!(wrc0.cmp(&wrc0), Ordering::Equal);
}
#[test]
fn implements_default() {
let wrc0: WRC<usize> = Default::default();
let wrc1 = WRC::new(0);
assert_eq!(wrc0, wrc1);
}
#[test]
fn implements_hash() {
let wrc = WRC::new(13);
let mut hasher = DefaultHasher::new();
let hash0 = wrc.hash(&mut hasher);
let mut hasher = DefaultHasher::new();
let hash1 = 13.hash(&mut hasher);
assert_eq!(hash0, hash1);
}