added some more basic tests
Some checks failed
Rust/spacepackets/pipeline/head There was a failure building this commit
Some checks failed
Rust/spacepackets/pipeline/head There was a failure building this commit
This commit is contained in:
parent
f620304b3a
commit
c6c80edb84
@ -322,6 +322,14 @@ impl TimeProviderCcsdsEpoch {
|
|||||||
self.counter
|
self.counter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn width(&self) -> u8 {
|
||||||
|
self.counter.0
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn counter(&self) -> u32 {
|
||||||
|
self.counter.1
|
||||||
|
}
|
||||||
|
|
||||||
pub fn width_fractions_pair(&self) -> Option<FractionalPart> {
|
pub fn width_fractions_pair(&self) -> Option<FractionalPart> {
|
||||||
self.fractions
|
self.fractions
|
||||||
}
|
}
|
||||||
@ -742,6 +750,8 @@ mod tests {
|
|||||||
fn test_basic_zero_epoch() {
|
fn test_basic_zero_epoch() {
|
||||||
let zero_cuc = TimeProviderCcsdsEpoch::new(0);
|
let zero_cuc = TimeProviderCcsdsEpoch::new(0);
|
||||||
assert_eq!(zero_cuc.len_as_bytes(), 5);
|
assert_eq!(zero_cuc.len_as_bytes(), 5);
|
||||||
|
assert_eq!(zero_cuc.width(), zero_cuc.width_counter_pair().0);
|
||||||
|
assert_eq!(zero_cuc.counter(), zero_cuc.width_counter_pair().1);
|
||||||
assert_eq!(zero_cuc.ccdsd_time_code(), CcsdsTimeCodes::CucCcsdsEpoch);
|
assert_eq!(zero_cuc.ccdsd_time_code(), CcsdsTimeCodes::CucCcsdsEpoch);
|
||||||
let counter = zero_cuc.width_counter_pair();
|
let counter = zero_cuc.width_counter_pair();
|
||||||
assert_eq!(counter.0, 4);
|
assert_eq!(counter.0, 4);
|
||||||
@ -1163,4 +1173,31 @@ mod tests {
|
|||||||
panic!("unexpected error: {}", error);
|
panic!("unexpected error: {}", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_from_dt() {
|
||||||
|
let dt = Utc.with_ymd_and_hms(2021, 1, 1, 0, 0, 0).unwrap();
|
||||||
|
let cuc =
|
||||||
|
TimeProviderCcsdsEpoch::from_date_time(&dt, FractionalResolution::Seconds).unwrap();
|
||||||
|
assert_eq!(cuc.counter(), dt.timestamp() as u32);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_new_u16_width() {
|
||||||
|
let cuc = TimeProviderCcsdsEpoch::new_u16_counter(0);
|
||||||
|
assert_eq!(cuc.width(), 2);
|
||||||
|
assert_eq!(cuc.counter(), 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn from_unix_stamp() {
|
||||||
|
let unix_stamp = UnixTimestamp::new(0, 0).unwrap();
|
||||||
|
let cuc =
|
||||||
|
TimeProviderCcsdsEpoch::from_unix_stamp(&unix_stamp, FractionalResolution::Seconds)
|
||||||
|
.expect("failed to create cuc from unix stamp");
|
||||||
|
assert_eq!(
|
||||||
|
cuc.counter(),
|
||||||
|
(-DAYS_CCSDS_TO_UNIX * SECONDS_PER_DAY as i32) as u32
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user