From 5a0521e92c80c43d6451fcc520fd68e7f56106f8 Mon Sep 17 00:00:00 2001 From: Sang-Heon Jeon Date: Sat, 9 Jan 2021 00:07:13 +0900 Subject: [PATCH 1/2] feat(from_str) : add test for checking unnecessary trailing value --- exercises/conversions/from_str.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/exercises/conversions/from_str.rs b/exercises/conversions/from_str.rs index af9eee6d..70ed1796 100644 --- a/exercises/conversions/from_str.rs +++ b/exercises/conversions/from_str.rs @@ -82,4 +82,16 @@ mod tests { fn missing_name_and_invalid_age() { ",one".parse::().unwrap(); } + + #[test] + #[should_panic] + fn trailing_comma() { + "John,32,".parse::().unwrap(); + } + + #[test] + #[should_panic] + fn trailing_comma_and_some_string() { + "John,32,man".parse::().unwrap(); + } } From 4f1374a6e7dd76d0f8769adf51495d5d0f9ea8a1 Mon Sep 17 00:00:00 2001 From: Sang-Heon Jeon Date: Sat, 9 Jan 2021 00:08:38 +0900 Subject: [PATCH 2/2] feat(from_into) : add test for checking unnecessary trailing value --- exercises/conversions/from_into.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/exercises/conversions/from_into.rs b/exercises/conversions/from_into.rs index f24cf61b..9d84174d 100644 --- a/exercises/conversions/from_into.rs +++ b/exercises/conversions/from_into.rs @@ -115,4 +115,18 @@ mod tests { assert_eq!(p.name, "John"); assert_eq!(p.age, 30); } + + #[test] + fn test_trailing_comma() { + let p: Person = Person::from("Mike,32,"); + assert_eq!(p.name, "John"); + assert_eq!(p.age, 30); + } + + #[test] + fn test_trailing_comma_and_some_string() { + let p: Person = Person::from("Mike,32,man"); + assert_eq!(p.name, "John"); + assert_eq!(p.age, 30); + } }