summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Geary <rtgnj42@gmail.com>2019-09-15 21:27:27 -0400
committerRyan Geary <rtgnj42@gmail.com>2019-09-17 23:40:35 -0400
commitc81af46d4e005124d66b3cbda96d61378b15e0af (patch)
tree7b98420005bbda811ca6c8a05551e7c136f1b492
parent4eb2ed03964f1669a2cecec614feee16eae1d210 (diff)
Add successful parsing tests
-rw-r--r--src/choice.rs49
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;