#[cfg(test)]
mod eleitoral_tests {
use brado;
#[test]
fn eleitoral_validate_1_valid_eleitorais() {
let valid_eleitorais = ["773537801651", "7735 3780 1651"];
for valid_eleitoral in valid_eleitorais {
assert_eq!(brado::eleitoral::validate(valid_eleitoral), true);
}
}
#[test]
fn eleitoral_validate_2_invalid_eleitorais() {
let invalid_eleitorais = [
"77353780165",
"773537801650",
"7735378016510",
"7735 3780 165",
"7735 3780 1650",
"7735 3780 16510",
"773 5378 01651",
"77353 7801 651",
"7735:3780 1651",
"7735 3780:1651",
"AAAAAAAAAAAA",
"AAAA AAAA AAAA",
];
for invalid_eleitoral in invalid_eleitorais {
assert_eq!(brado::eleitoral::validate(invalid_eleitoral), false);
}
}
#[test]
fn eleitoral_is_bare_1_valid_bare() {
let documents = [
"773537801651", "773537801650", ];
for document in documents {
assert_eq!(brado::eleitoral::is_bare(document), true);
}
}
#[test]
fn eleitoral_is_bare_2_invalid_bare() {
let documents = [
"7735 3780 1651", "7735 3780 1650", "773 5378 01651", "77353 7801 651", "77353780165", "7735378016510", ];
for document in documents {
assert_eq!(brado::eleitoral::is_bare(document), false);
}
}
#[test]
fn eleitoral_is_masked_1_valid_masked() {
let documents = [
"7735 3780 1651", "7735 3780 1650", ];
for document in documents {
assert_eq!(brado::eleitoral::is_masked(document), true);
}
}
#[test]
fn eleitoral_is_masked_2_invalid_masked() {
let documents = [
"773537801651", "773537801650", "7735 37801651", "77353780 1651", "77353780165", "7735378016510", "7735 3780 165", "7735 3780 16510", "773 5378 01651", "77353 7801 651", "7735:37801651", "77353780:1651", ];
for document in documents {
assert_eq!(brado::eleitoral::is_masked(document), false);
}
}
#[test]
fn eleitoral_mask_1_valid_mask() {
let valid_eleitoral: &str = "773537801651";
assert_eq!(
brado::eleitoral::mask(valid_eleitoral),
Ok(String::from("7735 3780 1651"))
);
let invalid_eleitoral: &str = "773537801650";
assert_eq!(
brado::eleitoral::mask(invalid_eleitoral),
Ok(String::from("7735 3780 1650"))
);
}
#[test]
fn eleitoral_mask_2_invalid_mask() {
let documents = [
"7735 3780 1651", "7735 3780 1650", "77353780165", "7735378016510", ];
for document in documents {
let result = brado::eleitoral::mask(document);
assert_eq!(
result,
Err("The given string cannot be masked as Título Eleitoral!"),
);
}
}
#[test]
fn eleitoral_generate_1() {
for _ in 0..1000 {
let eleitoral = brado::eleitoral::generate();
assert_eq!(brado::eleitoral::validate(&eleitoral), true);
assert_eq!(brado::eleitoral::is_bare(&eleitoral), true);
}
}
#[test]
fn eleitoral_generate_masked_1() {
for _ in 0..1000 {
let eleitoral = brado::eleitoral::generate_masked();
assert_eq!(brado::eleitoral::validate(&eleitoral), true);
assert_eq!(brado::eleitoral::is_masked(&eleitoral), true);
}
}
}