use neodes_codec::codec::write_dsn_file;
use neodes_codec::line::NeodesLine;
use std::fs;
use std::fs::File;
use std::io::{BufReader, Read};
use std::str::FromStr;
const FILE_PATH_ACTUAL: &'static str = "tests/write_test_actual.dsn";
const FILE_PATH_EXPECTED: &'static str = "tests/write_test_expected.dsn";
#[test]
fn test_write_file() {
let lines = vec![
NeodesLine::from_str("S21.G00.01.123,'x'").unwrap(),
NeodesLine::from_str("S21.G00.01.124,'x'").unwrap(),
NeodesLine::from_str("S21.G00.01.124,'é'").unwrap(),
];
write_dsn_file(FILE_PATH_ACTUAL, &lines).unwrap();
let mut actual = Vec::new();
let mut expected = Vec::new();
BufReader::new(File::open(FILE_PATH_ACTUAL).unwrap())
.read_to_end(&mut actual)
.unwrap();
BufReader::new(File::open(FILE_PATH_EXPECTED).unwrap())
.read_to_end(&mut expected)
.unwrap();
fs::remove_file(FILE_PATH_ACTUAL).unwrap();
assert_eq!(actual, expected);
}