Skip to content

Commit 25a2f86

Browse files
committed
Unit tests for TimeValue unmap added
1 parent eec03a0 commit 25a2f86

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

plotters/src/coord/ranged1d/types/datetime.rs

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,4 +1168,52 @@ mod test {
11681168
assert_eq!(coord1.index_of(&coord1.from_index(i).unwrap()).unwrap(), i);
11691169
}
11701170
}
1171+
1172+
#[test]
1173+
fn test_datetime_with_unmap() {
1174+
let start_time = Utc.ymd(2021, 1, 1).and_hms(8, 0, 0);
1175+
let end_time = Utc.ymd(2023, 1,1,).and_hms(8, 0, 0);
1176+
let mid = Utc.ymd(2022, 1, 1).and_hms(8, 0, 0);
1177+
let coord: RangedDate<chrono::DateTime<_>> = (start_time..end_time).into();
1178+
let pos = coord.map(&mid, (1000, 2000));
1179+
assert_eq!(pos, 1500);
1180+
let value = coord.unmap(pos, (1000, 2000));
1181+
assert_eq!(value, Some(mid));
1182+
}
1183+
1184+
#[test]
1185+
fn test_naivedatetime_with_unmap() {
1186+
let start_time = chrono::NaiveDate::from_ymd(2021, 1, 1).and_hms_milli(8, 0, 0, 0);
1187+
let end_time = chrono::NaiveDate::from_ymd(2023, 1,1,).and_hms_milli(8, 0, 0, 0);
1188+
let mid = chrono::NaiveDate::from_ymd(2022, 1, 1).and_hms_milli(8, 0, 0, 0);
1189+
let coord: RangedDate<chrono::NaiveDateTime> = (start_time..end_time).into();
1190+
let pos = coord.map(&mid, (1000, 2000));
1191+
assert_eq!(pos, 1500);
1192+
let value = coord.unmap(pos, (1000, 2000));
1193+
assert_eq!(value, Some(mid));
1194+
}
1195+
1196+
#[test]
1197+
fn test_date_with_unmap() {
1198+
let start_date = Utc.ymd(2021, 1, 1);
1199+
let end_date= Utc.ymd(2023, 1,1,);
1200+
let mid = Utc.ymd(2022, 1, 1);
1201+
let coord: RangedDate<chrono::Date<_>> = (start_date..end_date).into();
1202+
let pos = coord.map(&mid, (1000, 2000));
1203+
assert_eq!(pos, 1500);
1204+
let value = coord.unmap(pos, (1000, 2000));
1205+
assert_eq!(value, Some(mid));
1206+
}
1207+
1208+
#[test]
1209+
fn test_naivedate_with_unmap() {
1210+
let start_date = chrono::NaiveDate::from_ymd(2021, 1, 1);
1211+
let end_date= chrono::NaiveDate::from_ymd(2023, 1,1,);
1212+
let mid = chrono::NaiveDate::from_ymd(2022, 1, 1);
1213+
let coord: RangedDate<chrono::NaiveDate> = (start_date..end_date).into();
1214+
let pos = coord.map(&mid, (1000, 2000));
1215+
assert_eq!(pos, 1500);
1216+
let value = coord.unmap(pos, (1000, 2000));
1217+
assert_eq!(value, Some(mid));
1218+
}
11711219
}

0 commit comments

Comments
 (0)