From 8830378b2248cb1a05d2a7620cac039b0c3f5ad0 Mon Sep 17 00:00:00 2001 From: Mashy Date: Fri, 20 Dec 2019 15:32:24 +1000 Subject: [PATCH] siphon test apply new effect --- core/src/game.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/core/src/game.rs b/core/src/game.rs index c7069753..194a26b8 100644 --- a/core/src/game.rs +++ b/core/src/game.rs @@ -2121,6 +2121,9 @@ mod tests { // que ota? game.resolve(Cast::new(source, player_id, target, Skill::Siphon)); + game.resolve(Cast::new(source, player_id, target, Skill::Siphon)); + game.resolve(Cast::new(source, player_id, target, Skill::Siphon)); + let last = game.resolutions.len() - 1; let resolutions = &game.resolutions[last]; @@ -2129,7 +2132,18 @@ mod tests { _ => false, }).count(); + let effect_events = resolutions.iter().filter(|r| match r.event { + Event::Effect { construct, effect, duration: _, display: _ } => + construct == target && effect == Effect::Siphon, + _ => false, + }).count(); + + // Deal siphon dmg once assert_eq!(damage_events, 1); + // 3 new applications of siphon + assert_eq!(effect_events, 3); + // Siphon + Siphoned + assert!(game.players[1].constructs[0].effects.len() == 2); } #[test]