use nom::Finish;
use ruststep::parser;
use std::{fs, path::*};
fn format_example() -> anyhow::Result<String> {
let step_file = PathBuf::from(env!("CARGO_MANIFEST_DIR"))
.join("tests/steps/00000050_80d90bfdd2e74e709956122a_step_000.step");
let step_str = fs::read_to_string(step_file)?;
Ok(step_str)
}
#[test]
fn abc_dataset_data_line() -> anyhow::Result<()> {
let mut failed = false;
for line in format_example()?
.lines()
.skip(7 )
.take(1671 )
{
match parser::exchange::entity_instance(line).finish() {
Ok(_) => continue,
Err(err) => {
dbg!(line);
dbg!(err);
failed = true;
}
}
}
if failed {
anyhow::bail!("Parse failed");
}
Ok(())
}
#[test]
fn abc_dataset() -> anyhow::Result<()> {
let step_str = format_example()?;
let exchange = parser::exchange::exchange_file(&step_str).finish().unwrap();
dbg!(exchange);
Ok(())
}