use std::process::Command;
#[test]
fn test_buffers_are_flushed() {
let output = Command::new("cargo")
.arg("run")
.arg("--")
.arg("--words=2")
.arg("--count=3") .output()
.expect("Failed to run petname CLI");
assert!(output.status.success(), "Process did not exit successfully");
let stdout = String::from_utf8_lossy(&output.stdout);
let lines: Vec<&str> = stdout.lines().collect();
assert_eq!(lines.len(), 3, "Expected 3 petnames, got {}", lines.len());
for line in lines {
let words: Vec<&str> = line.split('-').filter(|word| !word.is_empty()).collect();
assert_eq!(words.len(), 2, "Expected 2 words in petname, got {}", words.len());
}
}