use gerber_parser::parse;
use gerber_parser::util::{gerber_doc_to_str, gerber_to_reader};
#[test]
fn dicechip_outline_to_rust_and_back() {
let gbr_string = "%FSLAX23Y23*%
%MOMM*%
%ADD801C,0.018*%
%ADD802C,0.01*%
%ADD803R,0.01X0.1*%
G04 Template gerber file by Nemo Andrea*
G04 Define the primive apertures*
G04 Chip outline*
D801*
G75*
G01*
X4000Y1500D02*
X4000Y-1500D01*
X200Y-1500D01*
X0Y-750D01*
X-200Y-1500D01*
X-4000Y-1500D01*
X-4000Y1500D01*
X-200Y1500D01*
X0Y750D01*
X200Y1500D01*
X4000Y1500D01*
D802*
X0Y0D03*
X0Y300D03*
X0Y-300D03*
X0Y600D03*
X0Y-600D03*
D803*
X0Y150D03*
X0Y450D03*
X0Y-150D03*
X0Y-450D03*
X0Y-450D03*
X0Y-720D03*
X0Y720D03*
M02*
";
let reader = gerber_to_reader(gbr_string);
let result = parse(reader);
assert!(result.is_ok());
let doc = result.unwrap();
doc.errors().iter().for_each(|x| println!("Error: {}", x));
assert_eq!(gbr_string, gerber_doc_to_str(doc))
}