Skip to main content

Add helper functions for the tests

ID
169bb40
date
2021-11-27 08:10:27+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
bab14ff
message
Add helper functions for the tests
changed files
1 file, 16 additions, 12 deletions

Changed files

src/main.rs (6260) → src/main.rs (6344)

diff --git a/src/main.rs b/src/main.rs
index 109be9b..76faf81 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -107,7 +107,7 @@ mod tests {
 
     #[test]
     fn it_prints_the_color_with_ansi_escape_codes() {
-        let output = get_output(&["./src/tests/red.png", "--count=1"]);
+        let output = get_success(&["./src/tests/red.png", "--count=1"]);
 
         assert_eq!(output.status.code().unwrap(), 0);
 
@@ -123,7 +123,7 @@ mod tests {
 
     #[test]
     fn it_omits_the_escape_codes_with_no_palette() {
-        let output = get_output(&["./src/tests/red.png", "--count=1"]);
+        let output = get_success(&["./src/tests/red.png", "--count=1"]);
 
         assert_eq!(output.status.code().unwrap(), 0);
 
@@ -139,7 +139,7 @@ mod tests {
 
     #[test]
     fn it_defaults_to_five_colours() {
-        let output = get_output(&["./src/tests/noise.jpg"]);
+        let output = get_success(&["./src/tests/noise.jpg"]);
 
         let stdout = str::from_utf8(&output.stdout).unwrap();
         assert_eq!(stdout.matches("\n").count(), 5, "stdout = {:?}", stdout);
@@ -147,7 +147,7 @@ mod tests {
 
     #[test]
     fn it_lets_you_choose_the_count() {
-        let output = get_output(&["./src/tests/noise.jpg", "--count=8"]);
+        let output = get_success(&["./src/tests/noise.jpg", "--count=8"]);
 
         let stdout = str::from_utf8(&output.stdout).unwrap();
         assert_eq!(stdout.matches("\n").count(), 8, "stdout = {:?}", stdout);
@@ -155,20 +155,14 @@ mod tests {
 
     #[test]
     fn it_fails_if_you_pass_an_invalid_count() {
-        let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
-        let output = cmd
-            .args(&["./src/tests/red.png", "--count=NaN"])
-            .unwrap_err()
-            .as_output()
-            .unwrap()
-            .to_owned();
+        let output = get_failure(&["./src/tests/red.png", "--count=NaN"]);
 
         assert_eq!(output.status.code().unwrap(), 1);
         assert_eq!(str::from_utf8(&output.stdout).unwrap(), "");
         assert_eq!(str::from_utf8(&output.stderr).unwrap(), "error: Invalid value: The argument 'NaN' isn't a valid value\n");
     }
 
-    fn get_output(args: &[&str]) -> Output {
+    fn get_success(args: &[&str]) -> Output {
         let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
         cmd
             .args(args)
@@ -178,4 +172,14 @@ mod tests {
             .get_output()
             .to_owned()
     }
+
+    fn get_failure(args: &[&str]) -> Output {
+        let mut cmd = Command::cargo_bin("dominant_colours").unwrap();
+        cmd
+            .args(args)
+            .unwrap_err()
+            .as_output()
+            .unwrap()
+            .to_owned()
+    }
 }