From b803d3b4d3e6960508f1a883baa7f21f915a2fd5 Mon Sep 17 00:00:00 2001 From: Paul Bender Date: Sun, 12 Oct 2025 14:19:17 -0700 Subject: [PATCH] Added more test coverage. --- tests/datetime.rs | 47 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/tests/datetime.rs b/tests/datetime.rs index 38c740b..7ccc0ba 100644 --- a/tests/datetime.rs +++ b/tests/datetime.rs @@ -154,7 +154,7 @@ macro_rules! get_invalid_device_century_test { [I2cTrans::write_read( DEV_ADDR, vec![Register::MONTH], - vec![BitFlags::CENTURY] + vec![BitFlags::CENTURY | 0] )] ); get_invalid_test!( @@ -165,7 +165,7 @@ macro_rules! get_invalid_device_century_test { [I2cTrans::write_read( DEV_ADDR, vec![Register::MONTH], - vec![BitFlags::CENTURY] + vec![BitFlags::CENTURY | 0] )] ); get_invalid_test!( @@ -358,6 +358,26 @@ macro_rules! dt_test { $destroy_method(dev); } + #[test] + fn get_datetime_invalid_century() { + let _dt = new_datetime(2018, 8, 13, 23, 59, 58); + let mut dev = $create_method(&$mac_trans_read!( + SECONDS, + [ + 0b0101_1000, + 0b0101_1001, + 0b0010_0011, + 0b0000_0010, + 0b0001_0011, + 0b0000_1000 | BitFlags::CENTURY, + 0b0001_1000 + ], + [0, 0, 0, 0, 0, 0, 0] + )); + assert_invalid_device_century!(dev.datetime()); + $destroy_method(dev); + } + #[test] fn set_datetime() { let dt = new_datetime(2018, 8, 13, 23, 59, 58); @@ -389,6 +409,18 @@ macro_rules! dt_test { $destroy_method(dev); } + #[test] + fn get_date_invalid_century() { + let _d = new_date(2018, 8, 13); + let mut dev = $create_method(&$mac_trans_read!( + DOM, + [0b0001_0011, 0b0000_1000 | BitFlags::CENTURY, 0b0001_1000], + [0, 0, 0] + )); + assert_invalid_device_century!(dev.date()); + $destroy_method(dev); + } + #[test] fn set_date() { let d = new_date(2018, 8, 13); @@ -403,7 +435,7 @@ macro_rules! dt_test { #[test] fn get_time() { let t = NaiveTime::from_hms_opt(23, 59, 58).unwrap(); - let month_transaction = $mac_trans_read!(MONTH, [0], [0]); + let month_transaction = $mac_trans_read!(MONTH, [1], [0]); let time_transaction = $mac_trans_read!(SECONDS, [0b0101_1000, 0b0101_1001, 0b0010_0011], [0, 0, 0]); let mut transactions = vec![]; @@ -422,6 +454,15 @@ macro_rules! dt_test { $destroy_method(dev); } + #[test] + fn get_time_invalid_century() { + let transactions = + $mac_trans_read!(MONTH, [0 | BitFlags::CENTURY], [0]); + let mut dev = $create_method(&transactions); + assert_invalid_device_century!(dev.time()); + $destroy_method(dev); + } + #[test] fn set_time() { let t = NaiveTime::from_hms_opt(23, 59, 58).unwrap();