Tradaf/tests/integration.rs

89 lines
1.8 KiB
Rust

use tradaf::*;
/*
use std::{
format,
fs::{read_dir, read_to_string},
};
use expect_test::{expect, Expect};
fn check(input: &str, expected: Expect) {}
#[test]
fn smoke() {
check("", "");
}
#[test]
fn test_all() {
for file in read_dir("./test_data/in") {
let input = read_to_string(&format!("./test_data/in/{}", file));
let output = read_to_string(&format!("./test_data/out/{}", file));
check(input, output)
}
}
*/
fn example_to_vec(file: &str) -> Vec<u8> {
use std::fs::File;
use std::io::prelude::*;
let mut f = File::open(file).unwrap();
let mut buffer = vec![];
f.read_to_end(&mut buffer).unwrap();
buffer
}
fn example_to_string(file: &str) -> String {
let buffer = example_to_vec(file);
String::from_utf8(buffer).unwrap()
}
#[test]
fn ron_to_json() {
let opt = Opt {
input: Input::Ron,
output: Output::Json,
format_in: None,
format_out: None,
pretty: true,
no_extra_line: false,
};
let input = example_to_vec("test-data/materials.ron");
let mut output = vec![];
transcode(opt, &mut input.as_slice(), &mut output).unwrap();
let out = String::from_utf8(output).unwrap();
let control = example_to_string("test-data/materials.json");
assert_eq!(control, out);
}
#[test]
fn json5_read_json() {
let opt = Opt {
input: Input::Json5,
output: Output::Json,
format_in: None,
format_out: None,
pretty: true,
no_extra_line: false,
};
let input = example_to_vec("test-data/materials.json");
let mut output = vec![];
transcode(opt, &mut input.as_slice(), &mut output).unwrap();
let out = String::from_utf8(output).unwrap();
let control = example_to_string("test-data/materials.json");
assert_eq!(control, out);
}