Add more tests
This commit is contained in:
parent
2d445230c5
commit
87afacd482
1 changed files with 35 additions and 1 deletions
|
@ -134,11 +134,12 @@ mod test {
|
||||||
use datepath::format::Format;
|
use datepath::format::Format;
|
||||||
|
|
||||||
use chrono::naive::date::NaiveDate;
|
use chrono::naive::date::NaiveDate;
|
||||||
|
use chrono::naive::datetime::NaiveDateTime;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_compiler_compile_simple() {
|
fn test_compiler_compile_simple() {
|
||||||
let dt = NaiveDate::from_ymd(2000, 1, 1).and_hms(0, 0, 0);
|
let dt = NaiveDate::from_ymd(2000, 1, 1).and_hms(0, 0, 0);
|
||||||
let compiler = DatePathCompiler::new(Accuracy::default(), Format::default())
|
let compiler = DatePathCompiler::new(Accuracy::default(), Format::default());
|
||||||
let res = compiler.compile("testmodule", &dt);
|
let res = compiler.compile("testmodule", &dt);
|
||||||
|
|
||||||
assert!(res.is_ok());
|
assert!(res.is_ok());
|
||||||
|
@ -152,5 +153,38 @@ mod test {
|
||||||
assert_eq!("testmodule/2000/1/1/0/0/0", s);
|
assert_eq!("testmodule/2000/1/1/0/0/0", s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn test_accuracy(acc: Accuracy, dt: NaiveDateTime, modname: &str, matchstr: &str) {
|
||||||
|
let compiler = DatePathCompiler::new(acc, Format::default());
|
||||||
|
let res = compiler.compile(modname, &dt);
|
||||||
|
|
||||||
|
assert!(res.is_ok());
|
||||||
|
let res = res.unwrap();
|
||||||
|
|
||||||
|
let s = res.to_str();
|
||||||
|
|
||||||
|
assert!(s.is_ok());
|
||||||
|
let s = s.unwrap();
|
||||||
|
|
||||||
|
assert_eq!(matchstr, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_compiler_compile_year_accuracy() {
|
||||||
|
let dt = NaiveDate::from_ymd(2000, 1, 1).and_hms(0, 0, 0);
|
||||||
|
test_accuracy(Accuracy::Year, dt, "module", "module/2000");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_compiler_compile_month_accuracy() {
|
||||||
|
let dt = NaiveDate::from_ymd(2000, 1, 1).and_hms(0, 0, 0);
|
||||||
|
test_accuracy(Accuracy::Month, dt, "module", "module/2000/1");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_compiler_compile_day_accuracy() {
|
||||||
|
let dt = NaiveDate::from_ymd(2000, 1, 1).and_hms(0, 0, 0);
|
||||||
|
test_accuracy(Accuracy::Day, dt, "module", "module/2000/1/1");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue