use assert_cmd::Command;
use std::fs;
use tempfile::tempdir;
#[test]
fn tsv_to_json_cli() {
let dir = tempdir().unwrap();
let input = dir.path().join("input.tsv");
let output = dir.path().join("output.json");
fs::write(&input, "name\tage\nAlice\t30").unwrap();
Command::cargo_bin("sheeter")
.unwrap()
.args([
"tsv-to-json",
input.to_str().unwrap(),
output.to_str().unwrap(),
])
.assert()
.success();
let json = fs::read_to_string(output).unwrap();
assert_eq!(json, r#"[{"name":"Alice","age":"30"}]"#);
}
#[test]
fn json_to_tsv_cli() {
let dir = tempdir().unwrap();
let input = dir.path().join("input.json");
let output = dir.path().join("output.tsv");
fs::write(&input, r#"[{"name":"Alice","age":"30"}]"#).unwrap();
Command::cargo_bin("sheeter")
.unwrap()
.args([
"json-to-tsv",
input.to_str().unwrap(),
output.to_str().unwrap(),
])
.assert()
.success();
let tsv = fs::read_to_string(output).unwrap();
assert_eq!(tsv, "name\tage\nAlice\t30\n");
}