Initial upload: GitPulse - Developer Productivity Analyzer CLI tool
This commit is contained in:
40
tests/git_filter_test.rs
Normal file
40
tests/git_filter_test.rs
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use crate::git::filter::{parse_date, TimeFilter, TimePeriod};
|
||||||
|
use crate::git::Repository;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_time_period_parsing() {
|
||||||
|
let period: TimePeriod = "7d".parse().unwrap();
|
||||||
|
let (start, end) = period.to_range();
|
||||||
|
assert!(end > start);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_time_period_weeks() {
|
||||||
|
let period: TimePeriod = "2w".parse().unwrap();
|
||||||
|
let (start, end) = period.to_range();
|
||||||
|
let days = (end - start).num_days();
|
||||||
|
assert!(days >= 14);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_time_period_months() {
|
||||||
|
let period: TimePeriod = "1m".parse().unwrap();
|
||||||
|
let (start, end) = period.to_range();
|
||||||
|
let days = (end - start).num_days();
|
||||||
|
assert!(days >= 28 && days <= 31);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_parse_date_relative() {
|
||||||
|
let date = parse_date("7d").unwrap();
|
||||||
|
assert!(date.year() > 2020);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_parse_date_iso() {
|
||||||
|
let date = parse_date("2024-01-15").unwrap();
|
||||||
|
assert!(date.year() == 2024);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user