pub mod hashdozen;
#[cfg(test)]
mod tests {
use std::string::String;
use super::*;
#[test]
fn salted_value_greater_than_input() {
let data_vec = Vec::<u8>::from(String::from("TestData"));
let data_str_size = data_vec.len();
let salted_data = hashdozen::generate_salted_input(data_vec);
let salt_size = salted_data.len();
assert!(salt_size > data_str_size);
}
#[test]
fn salted_value_different () {
let data_vec = Vec::<u8>::from(String::from("TestData"));
let salted_vec = hashdozen::generate_salted_input(data_vec.clone());
assert_ne!(data_vec, salted_vec);
}
#[test]
fn salt_equivalence () {
let data_vec_1 = Vec::<u8>::from(String::from("TestData1"));
let data_vec_2 = data_vec_1.clone();
let salted_data_1 = hashdozen::generate_salted_input(data_vec_1.clone());
let salted_data_2 = hashdozen::generate_salted_input(data_vec_2.clone());
assert_eq!(salted_data_1, salted_data_2);
}
#[test]
fn hash_simple_uniqueness() {
let data_vec_1 = Vec::<u8>::from(String::from("FOOBAR"));
let data_vec_2 = Vec::<u8>::from(String::from("FOOBAZ"));
let hashed_vec_1 = hashdozen::hash(data_vec_1);
let hashed_vec_2 = hashdozen::hash(data_vec_2);
assert_ne!(hashed_vec_1, hashed_vec_2);
}
#[test]
fn hash_simple_reproduction() {
let data_vec_1 = Vec::<u8>::from(String::from("FOOBAR"));
let data_vec_2 = Vec::<u8>::from(String::from("FOOBAR"));
let hashed_vec_1 = hashdozen::hash(data_vec_1);
let hashed_vec_2 = hashdozen::hash(data_vec_2);
assert_eq!(hashed_vec_1, hashed_vec_2);
}
#[test]
fn hash_changes_input() {
let comp_str = String::from("TestString");
let data_vec = Vec::<u8>::from(comp_str.clone());
let hashed_vec = hashdozen::hash(data_vec);
assert_ne!(comp_str, hashed_vec);
}
#[test]
fn salted_hash_reproduction() {
let data_vec_1 = Vec::<u8>::from(String::from("FOOBAR"));
let data_vec_2 = Vec::<u8>::from(String::from("FOOBAR"));
let salty_data_1 = hashdozen::generate_salted_input(data_vec_1);
let salty_data_2 = hashdozen::generate_salted_input(data_vec_2);
let hashed_vec_1 = hashdozen::hash(salty_data_1);
let hashed_vec_2 = hashdozen::hash(salty_data_2);
assert_eq!(hashed_vec_1, hashed_vec_2);
}
}