Return style fix
[learn-rust.git] / src / word_utils.rs
index d087820a1ec0fcb2a517cef8599d5db550844fdc..e3e71bf135ae753c218a2dc72d10bfee2d425f85 100644 (file)
@@ -15,5 +15,29 @@ pub fn second_word(s: &str) -> Option<&str> {
         }
     }
 
-    return None;
+    None
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn test_first_word() {
+        assert_eq!(first_word(""), "");
+        assert_eq!(first_word("one"), "one");
+        assert_eq!(first_word("one two"), "one");
+
+        assert_eq!(first_word(&String::from("one two")), "one");
+    }
+
+    #[test]
+    fn test_second_word() {
+        assert_eq!(second_word(""), None);
+        assert_eq!(second_word("one"), None);
+        assert_eq!(second_word("one two"), Some("two"));
+        assert_eq!(second_word("one two three"), Some("two"));
+
+        assert_eq!(second_word(&String::from("one two three")), Some("two"));
+    }
 }