Skip to content

Commit fa6519c

Browse files
author
Connor Truono
committed
Add tests section with free_fall_duration() test
1 parent 7af1ffd commit fa6519c

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

Cargo.toml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ rust-version = "1.85"
1111
bilge = "0.2.0"
1212
embedded-hal-async = "1.0.0"
1313

14+
[dev-dependencies]
15+
embedded-hal-mock = { version = "0.11.1", features = ["embedded-hal-async"] }
16+
tokio = { version = "1.42.0", features = ["rt", "macros"] }
17+
1418
[target.'cfg(target_os = "none")'.dependencies]
1519
# dependencies for no-std targets
1620

src/lib.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,3 +310,29 @@ impl<I2C: embedded_hal_async::i2c::I2c> Lis2dw12<I2C> {
310310
acc * factor
311311
}
312312
}
313+
314+
#[cfg(test)]
315+
mod tests {
316+
use crate::{Lis2dw12, Register};
317+
use embedded_hal_mock::eh1::i2c::{Mock, Transaction};
318+
const SA0_GND_ADDR: u8 = 0x18;
319+
320+
#[tokio::test]
321+
async fn test_ff_dur() {
322+
let ff_dur_expected: u8 = 0b010100;
323+
let ff_reg: [u8; 1] = [0b10100101];
324+
let wud_reg: [u8; 1] = [0b01011010];
325+
let expectations = vec![
326+
Transaction::write_read(SA0_GND_ADDR, vec![Register::FreeFall as u8], vec![ff_reg[0]]),
327+
Transaction::write_read(SA0_GND_ADDR, vec![Register::WakeUpDuration as u8], vec![wud_reg[0]]),
328+
];
329+
let i2c = Mock::new(&expectations);
330+
let mut accel = Lis2dw12::new_with_sa0_gnd(i2c);
331+
let ff_dur: u8 = accel.free_fall_duration().await.unwrap();
332+
333+
// Verify the stitched value
334+
assert_eq!(ff_dur, ff_dur_expected);
335+
336+
accel.destroy().done();
337+
}
338+
}

0 commit comments

Comments
 (0)