use u_lib::{models::JobOutput, utils::vec_to_string}; const STDOUT: &str = "<***STDOUT***>"; const STDERR: &str = "<***STDERR***>"; #[test_case( "lol", "kek", &format!("{}lol{}kek", STDOUT, STDERR) ;"stdout stderr" )] #[test_case( "", "kek", &format!("{}kek", STDERR) ;"stderr" )] fn test_to_combined(stdout: &str, stderr: &str, result: &str) { let output = JobOutput::new() .stdout(stdout.as_bytes().to_vec()) .stderr(stderr.as_bytes().to_vec()); assert_eq!(&vec_to_string(&output.into_combined()), result) } #[test_case( &format!("{}lal{}kik", STDOUT, STDERR), "lal\nkik" ;"stdout stderr" )] #[test_case( &format!("{}qeq", STDOUT), "qeq" ;"stdout" )] #[test_case( &format!("{}vev", STDERR), "vev" ;"stderr" )] fn test_from_combined(src: &str, result: &str) { let output = JobOutput::from_combined(src.as_bytes()).unwrap(); assert_eq!(vec_to_string(&output.to_appropriate()).trim(), result); }