diff options
author | Ryan Geary <rtgnj42@gmail.com> | 2019-09-15 21:27:27 -0400 |
---|---|---|
committer | Ryan Geary <rtgnj42@gmail.com> | 2019-09-17 23:40:35 -0400 |
commit | c81af46d4e005124d66b3cbda96d61378b15e0af (patch) | |
tree | 7b98420005bbda811ca6c8a05551e7c136f1b492 | |
parent | 4eb2ed03964f1669a2cecec614feee16eae1d210 (diff) |
Add successful parsing tests
-rw-r--r-- | src/choice.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/choice.rs b/src/choice.rs index 9db2d13..aa16c97 100644 --- a/src/choice.rs +++ b/src/choice.rs @@ -13,6 +13,55 @@ mod tests { } ) } + + #[test] + fn parse_none_started_range() { + let result = Choice::parse_choice(":5").unwrap(); + assert_eq!( + (None, Some(5)), + match result { + Choice::FieldRange(x) => x, + _ => panic!(), + } + ) + } + + #[test] + fn parse_none_terminated_range() { + let result = Choice::parse_choice("5:").unwrap(); + assert_eq!( + (Some(5), None), + match result { + Choice::FieldRange(x) => x, + _ => panic!(), + } + ) + } + + #[test] + fn parse_full_range() { + let result = Choice::parse_choice("5:7").unwrap(); + assert_eq!( + (Some(5), Some(7)), + match result { + Choice::FieldRange(x) => x, + _ => panic!(), + } + ) + } + + #[test] + fn parse_beginning_to_end_range() { + let result = Choice::parse_choice(":").unwrap(); + assert_eq!( + (None, None), + match result { + Choice::FieldRange(x) => x, + _ => panic!(), + } + ) + } + } use regex::Regex; |