From c33b623e4117a1c3cfa1a14c38c2e5ab3f81f7f4 Mon Sep 17 00:00:00 2001 From: Arne Dußin Date: Mon, 26 Apr 2021 13:54:49 +0200 Subject: Add additional dice tests and skip tests for rngs --- src/character/stats.rs | 1 + src/dice.rs | 32 ++++++++++++++++++++++++++++++++ src/main.rs | 4 ++++ 3 files changed, 37 insertions(+) diff --git a/src/character/stats.rs b/src/character/stats.rs index 6c4a54f..24ec82b 100644 --- a/src/character/stats.rs +++ b/src/character/stats.rs @@ -34,6 +34,7 @@ impl Stats v } + #[tarpaulin::skip] pub fn roll_initial() -> Self { let mut rng = rand::thread_rng(); diff --git a/src/dice.rs b/src/dice.rs index 68b6ecf..a2774d6 100644 --- a/src/dice.rs +++ b/src/dice.rs @@ -58,6 +58,7 @@ impl Die pub fn value(&self) -> u8 { DIE_VALUES[self.0 as usize] } + #[tarpaulin::skip] pub fn roll(&self) -> u8 { let mut rng = rand::thread_rng(); @@ -115,6 +116,7 @@ impl RiskDie /// Roll the die. If the die shows 3 or less, it returns the next lower die. /// If it is more, it returns itself. If it was already the lowest die value /// and it would be stepped down it returns `None`. + #[tarpaulin::skip] pub fn roll(self) -> Option { let mut rng = rand::thread_rng(); @@ -209,6 +211,14 @@ mod tests assert_eq!(die.level(), 5); } + #[test] + fn create_risk_die_from_invalid_value() + { + assert_eq!(RiskDie::from_value(5), Err(Error::InvalidValue)); + assert_eq!(RiskDie::from_value(21), Err(Error::InvalidValue)); + assert_eq!(RiskDie::from_value(0), Err(Error::InvalidValue)); + } + #[test] fn risk_die_level_down() { @@ -231,6 +241,28 @@ mod tests assert_eq!(DELTA_20.level_up(), DELTA_20); } + #[test] + fn risk_die_can_be_lowered() + { + assert!(!DELTA_4.can_be_lowered()); + assert!(DELTA_6.can_be_lowered()); + assert!(DELTA_8.can_be_lowered()); + assert!(DELTA_10.can_be_lowered()); + assert!(DELTA_12.can_be_lowered()); + assert!(DELTA_20.can_be_lowered()); + } + + #[test] + fn risk_die_can_be_upped() + { + assert!(DELTA_4.can_be_upped()); + assert!(DELTA_6.can_be_upped()); + assert!(DELTA_8.can_be_upped()); + assert!(DELTA_10.can_be_upped()); + assert!(DELTA_12.can_be_upped()); + assert!(!DELTA_20.can_be_upped()); + } + #[test] fn add_risk_dice() { diff --git a/src/main.rs b/src/main.rs index 8534936..6cc390e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,9 @@ +#![feature(register_tool)] +#![register_tool(tarpaulin)] + pub mod character; pub mod dice; pub mod inventory; +#[tarpaulin::skip] fn main() {} -- cgit v1.2.3-70-g09d2