This commit is contained in:
@@ -80,7 +80,8 @@ mod tests {
|
||||
#[cfg_attr(miri, ignore)]
|
||||
fn create_random() {
|
||||
let _default = Random::default();
|
||||
let _empty = Random::new(100);
|
||||
let empty = Random::new(100);
|
||||
assert_eq!(empty.get_seed(), 100);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -96,6 +97,19 @@ mod tests {
|
||||
assert_eq!(v.get(), 580236580);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_unsigned_with_seed() {
|
||||
let mut v = Random::new(10);
|
||||
assert_eq!(v.get_unsigned(), 1755576946);
|
||||
assert_eq!(v.get_unsigned(), 1254514019);
|
||||
assert_eq!(v.get_unsigned(), 1735834837);
|
||||
assert_eq!(v.get_unsigned(), 51079449);
|
||||
assert_eq!(v.get_unsigned(), 506997516);
|
||||
assert_eq!(v.get_unsigned(), 4121439675);
|
||||
assert_eq!(v.get_unsigned(), 683138464);
|
||||
assert_eq!(v.get_unsigned(), 580236580);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_with_limit_with_seed() {
|
||||
let mut v = Random::new(10);
|
||||
@@ -119,6 +133,12 @@ mod tests {
|
||||
assert_eq!(v.get_max(2), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_unsigned_with_limit_with_seed() {
|
||||
let mut v = Random::new(10);
|
||||
assert_eq!(v.get_max_unsigned(4121439675), 1684647164);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_with_limit_with_range() {
|
||||
let mut v = Random::new(10);
|
||||
@@ -132,6 +152,33 @@ mod tests {
|
||||
assert_eq!(v.get_between(10, 30), 12);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_unsigned_with_limit_with_range() {
|
||||
let mut v = Random::new(10);
|
||||
assert_eq!(v.get_between_unsigned(4121439675, 4121439678), 4121439676);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_float() {
|
||||
let mut v = Random::new(10);
|
||||
assert_eq!(v.get_float(), 0.2920893);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_double() {
|
||||
let mut v = Random::new(10);
|
||||
assert_eq!(v.get_double(), 0.2920893066117427);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn get_random_clone_then_continue() {
|
||||
let mut v = Random::new(10);
|
||||
assert_eq!(v.get_unsigned(), 1755576946);
|
||||
let mut clone = v.clone();
|
||||
assert_eq!(clone.get_unsigned(), 1254514019);
|
||||
assert_eq!(v.get_unsigned(), 1254514019);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg_attr(miri, ignore)]
|
||||
fn check_random_distribution() {
|
||||
|
||||
@@ -109,3 +109,36 @@ const CRC_TABLE: &[u32] = &[
|
||||
0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
|
||||
0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,
|
||||
];
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
extern crate test;
|
||||
|
||||
use crate::StringKey;
|
||||
|
||||
#[test]
|
||||
fn create_empty_stringkey() {
|
||||
let sk = StringKey::new("");
|
||||
assert_eq!(sk.str(), "");
|
||||
assert_eq!(sk.hash(), 0);
|
||||
assert_eq!(sk.hash(), StringKey::get_hash_const(b""));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn create_stringkey_foo() {
|
||||
let sk = StringKey::new("foo");
|
||||
assert_eq!(sk.str(), "foo");
|
||||
assert_eq!(sk.hash(), 2356372769);
|
||||
assert_eq!(sk.hash(), StringKey::get_hash_const(b"foo"));
|
||||
assert_eq!(sk.hash(), StringKey::get_hash_const(b"FOo"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn create_stringkey_bar() {
|
||||
let sk = StringKey::new("bar");
|
||||
assert_eq!(sk.str(), "bar");
|
||||
assert_eq!(sk.hash(), 1996459178);
|
||||
assert_eq!(sk.hash(), StringKey::get_hash_const(b"bar"));
|
||||
assert_eq!(sk.hash(), StringKey::get_hash_const(b"baR"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user