mirror of
https://github.com/darwincereska/envkit.git
synced 2026-06-11 10:23:23 -05:00
53 lines
2.1 KiB
Rust
53 lines
2.1 KiB
Rust
#[cfg(test)]
|
|
mod test_parser {
|
|
use envkit::parser::parse_bool;
|
|
use envkit::parser::parse_number;
|
|
use envkit::parser::parse_list;
|
|
|
|
#[test]
|
|
/// Tests for the `parse_bool` function.
|
|
fn test_parse_bool() {
|
|
assert_eq!(parse_bool("true"), Ok(true));
|
|
assert_eq!(parse_bool("false"), Ok(false));
|
|
assert_eq!(parse_bool("1"), Ok(true));
|
|
assert_eq!(parse_bool("0"), Ok(false));
|
|
assert_eq!(parse_bool("t"), Ok(true));
|
|
assert_eq!(parse_bool("f"), Ok(false));
|
|
assert_eq!(parse_bool("yes"), Ok(true));
|
|
assert_eq!(parse_bool("no"), Ok(false));
|
|
}
|
|
|
|
#[test]
|
|
/// Tests for the `parse_number` function.
|
|
fn test_parse_number() {
|
|
assert_eq!(parse_number::<i8>("42"), Ok(42_i8));
|
|
assert_eq!(parse_number::<i16>("42"), Ok(42_i16));
|
|
assert_eq!(parse_number::<i32>("42"), Ok(42_i32));
|
|
assert_eq!(parse_number::<i64>("42"), Ok(42_i64));
|
|
assert_eq!(parse_number::<i128>("42"), Ok(42_i128));
|
|
assert_eq!(parse_number::<isize>("42"), Ok(42_isize));
|
|
assert_eq!(parse_number::<u8>("42"), Ok(42_u8));
|
|
assert_eq!(parse_number::<u16>("42"), Ok(42_u16));
|
|
assert_eq!(parse_number::<u32>("42"), Ok(42_u32));
|
|
assert_eq!(parse_number::<u64>("42"), Ok(42_u64));
|
|
assert_eq!(parse_number::<u128>("42"), Ok(42_u128));
|
|
assert_eq!(parse_number::<usize>("42"), Ok(42_usize));
|
|
assert_eq!(parse_number::<f32>("42"), Ok(42_f32));
|
|
assert_eq!(parse_number::<f64>("42"), Ok(42_f64));
|
|
}
|
|
|
|
#[test]
|
|
/// Tests for the `parse_list` function.
|
|
fn test_parse_list() {
|
|
let numbers = "1,2,3,4";
|
|
let names = "Alice, Bob, Charlie";
|
|
let bools = "true, false, yes, no";
|
|
let floats = "3.14, 2.718, 1.618";
|
|
|
|
assert_eq!(parse_list::<u8>(numbers), Ok(Vec::from([1,2,3,4])));
|
|
assert_eq!(parse_list::<String>(names), Ok(Vec::from(["Alice".to_string(), "Bob".to_string(), "Charlie".to_string()])));
|
|
assert_eq!(parse_list::<bool>(bools), Ok(Vec::from([true, false, true, false])));
|
|
assert_eq!(parse_list::<f64>(floats), Ok(Vec::from([3.14, 2.718, 1.618])));
|
|
}
|
|
}
|