Test for msp iter

This commit is contained in:
Dominik Werder
2025-05-19 15:17:41 +02:00
parent 24fc2d888f
commit 7afafe6dff
2 changed files with 51 additions and 5 deletions

View File

@@ -9,6 +9,7 @@ futures-util = "0.3.31"
pin-project = "1"
async-channel = "2.3.1"
scylla = "1.1"
time = { version = "0.3.41", features = ["parsing", "formatting", "macros"] }
autoerr = "0.0.3"
daqbuf-err = { path = "../../../daqbuf-err" }
netpod = { path = "../../../daqbuf-netpod", package = "daqbuf-netpod" }

View File

@@ -44,9 +44,54 @@ impl Iterator for MspLspIter {
fn test_iter_00() {
let range = NanoRange::from_strings("2024-06-07T09:17:31Z", "2024-06-07T09:17:31Z").unwrap();
let pbp = PrebinnedPartitioning::Sec1;
let mut it = MspLspIter::new(range, pbp);
// taskrun;
for x in it {
eprintln!("{:?}", x);
}
assert_eq!(pbp.patch_len(), 1200);
let it = MspLspIter::new(range, pbp);
let a: Vec<_> = it.collect();
assert_eq!(a.len(), 0);
}
#[test]
fn test_iter_01() {
let range = NanoRange::from_strings("2024-06-07T09:17:31Z", "2024-06-07T09:17:32Z").unwrap();
let pbp = PrebinnedPartitioning::Sec1;
assert_eq!(pbp.patch_len(), 1200);
let it = MspLspIter::new(range, pbp.clone());
let a: Vec<_> = it.collect();
assert_eq!(a.len(), 1);
assert_eq!(a[0].0.0, 1431459);
assert_eq!(a[0].1.0, 1051);
let ts_sec = pbp.patch_len() as u64 * a[0].0.0 as u64 + a[0].1.0 as u64;
// time::UtcDateTime::new(time::Date::with, time)
let ts1 = time::UtcDateTime::from_unix_timestamp(ts_sec as i64).unwrap();
let fmt = time::macros::format_description!("[year]-[month]-[day]T[hour]:[minute]:[second]Z");
let ts2 = time::UtcDateTime::parse("2024-06-07T09:17:31Z", &fmt).unwrap();
assert_eq!(ts1, ts2);
}
#[test]
fn test_iter_02() {
let range = NanoRange::from_strings("2024-06-07T09:17:31Z", "2024-06-07T09:22:00Z").unwrap();
let pbp = PrebinnedPartitioning::Sec1;
let it = MspLspIter::new(range, pbp.clone());
let a: Vec<_> = it.collect();
assert_eq!(a.len(), 240 + 29);
let e = &a[a.len() - 1];
assert_eq!(e.0.0, 1431460);
assert_eq!(e.1.0, 119);
}
#[test]
fn test_iter_03() {
// Check clamped covering in correct direction
let range = NanoRange::from_strings("2024-06-07T09:17:31.1Z", "2024-06-07T09:21:59.8Z").unwrap();
let pbp = PrebinnedPartitioning::Sec1;
let it = MspLspIter::new(range, pbp.clone());
let a: Vec<_> = it.collect();
assert_eq!(a.len(), 240 + 29);
let e = &a[0];
assert_eq!(e.0.0, 1431459);
assert_eq!(e.1.0, 1051);
let e = &a[a.len() - 1];
assert_eq!(e.0.0, 1431460);
assert_eq!(e.1.0, 119);
}