2020-06-22 18:20:11 +00:00
|
|
|
use super::*;
|
|
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
|
fn test_roll_dice() {
|
|
|
|
|
let mut results = parse_dice_segments("2d6");
|
2020-06-22 20:13:06 +00:00
|
|
|
|
2020-06-22 18:20:11 +00:00
|
|
|
assert_eq!(results.len(), 1);
|
|
|
|
|
assert_eq!(results[0]["count"], *"2");
|
|
|
|
|
assert_eq!(results[0]["size"], *"6");
|
|
|
|
|
|
2020-06-22 20:13:06 +00:00
|
|
|
results = parse_dice_segments("2d6 + 1d20");
|
2020-06-22 18:20:11 +00:00
|
|
|
|
|
|
|
|
assert_eq!(results.len(), 2);
|
2020-06-22 20:13:06 +00:00
|
|
|
assert_eq!(results[1].name("op").map(|i| i.as_str()), Some("+"));
|
2020-06-22 18:20:11 +00:00
|
|
|
assert_eq!(results[1].name("count").map(|i| i.as_str()), Some("1"));
|
|
|
|
|
assert_eq!(results[1]["size"], *"20");
|
2020-06-22 20:13:06 +00:00
|
|
|
|
|
|
|
|
results = parse_dice_segments("4d6d1");
|
|
|
|
|
|
|
|
|
|
assert_eq!(results.len(), 1);
|
|
|
|
|
assert_eq!(results[0].name("drop").map(|i| i.as_str()), Some("1"));
|
|
|
|
|
|
|
|
|
|
results = parse_dice_segments("3d8+8");
|
|
|
|
|
|
|
|
|
|
assert_eq!(results.len(), 2);
|
|
|
|
|
assert_eq!(results[1].name("op").map(|i| i.as_str()), Some("+"));
|
|
|
|
|
assert_eq!(results[1].name("mod").map(|i| i.as_str()), Some("8"));
|
2020-06-22 18:20:11 +00:00
|
|
|
}
|