From a6fb81da0c64cfb01ed343964216e57d324a1bbe Mon Sep 17 00:00:00 2001 From: ntr Date: Thu, 21 Mar 2019 00:12:41 +1100 Subject: [PATCH] recharge test --- server/src/cryp.rs | 1 + server/src/skill.rs | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/server/src/cryp.rs b/server/src/cryp.rs index 3a66a722..91d52950 100644 --- a/server/src/cryp.rs +++ b/server/src/cryp.rs @@ -129,6 +129,7 @@ impl CrypStat { pub fn force(&mut self, v: u64) -> &mut CrypStat { self.base = v; self.value = v; + self.max = v; self } diff --git a/server/src/skill.rs b/server/src/skill.rs index 8cf8df9d..ec4b49dc 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -973,6 +973,33 @@ mod tests { assert!(y.hp() > prev_hp); } + #[test] + fn recharge_test() { + let mut x = Cryp::new() + .named(&"muji".to_string()); + + let mut y = Cryp::new() + .named(&"pretaliation".to_string()); + + y.red_shield.force(50); + y.blue_shield.force(50); + + y.deal_red_damage(Skill::Attack, 5); + y.deal_blue_damage(Skill::Blast, 5); + + let mut res = Resolution::new(Skill::Recharge); + res = recharge(&mut x, &mut y, res); + + match res.results[0] { + ResolutionResult::Recharge { red, blue, immunity: _ } => { + assert!(red == 5); + assert!(blue == 5); + } + _ => panic!("result was not recharge"), + } + } + + #[test] fn silence_test() { let mut x = Cryp::new()