use std::process::Command; use util::*; static PROGNAME: &'static str = "./tac"; #[path = "common/util.rs"] #[macro_use] mod util; #[test] fn test_stdin_default() { let mut cmd = Command::new(PROGNAME); let result = run_piped_stdin(&mut cmd, "100\n200\n300\n400\n500"); assert_eq!(result.stdout, "500400\n300\n200\n100\n"); } #[test] fn test_stdin_non_newline_separator() { let mut cmd = Command::new(PROGNAME); let result = run_piped_stdin(&mut cmd.args(&["-s", ":"]), "100:200:300:400:500"); assert_eq!(result.stdout, "500400:300:200:100:"); } #[test] fn test_stdin_non_newline_separator_before() { let mut cmd = Command::new(PROGNAME); let result = run_piped_stdin(&mut cmd.args(&["-b", "-s", ":"]), "100:200:300:400:500"); assert_eq!(result.stdout, "500:400:300:200:100"); } #[test] fn test_single_default() { let mut cmd = Command::new(PROGNAME); let result = run(&mut cmd.arg("prime_per_line.txt")); assert_eq!(result.stdout, get_file_contents("prime_per_line.expected")); } #[test] fn test_single_non_newline_separator() { let mut cmd = Command::new(PROGNAME); let result = run(&mut cmd.args(&["-s", ":", "delimited_primes.txt"])); assert_eq!(result.stdout, get_file_contents("delimited_primes.expected")); } #[test] fn test_single_non_newline_separator_before() { let mut cmd = Command::new(PROGNAME); let result = run(&mut cmd.args(&["-b", "-s", ":", "delimited_primes.txt"])); assert_eq!(result.stdout, get_file_contents("delimited_primes_before.expected")); }