48 lines
1.0 KiB
Rust
48 lines
1.0 KiB
Rust
use maraiah::{durandal::bin, marathon::trm};
|
|
|
|
include!("data/rand.rs");
|
|
|
|
#[test]
|
|
fn read_term_must_process()
|
|
{
|
|
const INPUT: &[u8] = include_bytes!("data/term.in");
|
|
|
|
let inp = bin::rd_array(INPUT, trm::read_term).unwrap();
|
|
let out = include!("data/term.out");
|
|
|
|
// for better debug output, we iterate over each item
|
|
assert_eq!(inp.len(), out.len());
|
|
|
|
for (itrm, otrm) in inp.iter().zip(&out) {
|
|
assert_eq!(itrm.groups.len(), otrm.groups.len());
|
|
for (igrp, ogrp) in itrm.groups.iter().zip(&otrm.groups) {
|
|
assert_eq!(igrp, ogrp);
|
|
}
|
|
|
|
assert_eq!(itrm.faces.len(), otrm.faces.len());
|
|
for (ifac, ofac) in itrm.faces.iter().zip(&otrm.faces) {
|
|
assert_eq!(ifac, ofac);
|
|
}
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn trm_must_not_process()
|
|
{
|
|
for inp in &RANDOM {
|
|
assert!(bin::rd_array(inp, trm::read_group).is_err());
|
|
assert!(bin::rd_array(inp, trm::read_term).is_err());
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
#[allow(unused_must_use)]
|
|
fn trm_must_not_panic()
|
|
{
|
|
for inp in &RANDOM {
|
|
bin::rd_array(inp, trm::read_face);
|
|
}
|
|
}
|
|
|
|
// EOF
|