From c81af46d4e005124d66b3cbda96d61378b15e0af Mon Sep 17 00:00:00 2001 From: Ryan Geary Date: Sun, 15 Sep 2019 21:27:27 -0400 Subject: Add successful parsing tests --- src/choice.rs | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'src') 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; -- cgit v1.2.3