110 lines
2.9 KiB
Rust
110 lines
2.9 KiB
Rust
use maraiah::{durandal::{bin, fixed::*},
|
|
marathon::map};
|
|
|
|
include!("data/rand.rs");
|
|
|
|
#[test]
|
|
fn read_minf_must_process()
|
|
{
|
|
let inp = include_bytes!("data/map/minf.in");
|
|
let out = include!("data/map/minf.out");
|
|
|
|
assert_eq!(map::minf::read(inp).unwrap(), out);
|
|
}
|
|
|
|
#[test]
|
|
fn read_epnt_must_process()
|
|
{
|
|
let inp = include_bytes!("data/map/epnt.in");
|
|
|
|
let inp = bin::rd_array(inp, map::epnt::read).unwrap();
|
|
let out = include!("data/map/epnt.out.2").to_vec();
|
|
|
|
assert_eq!(inp, out);
|
|
|
|
let inp = map::epnt::to_pnts(&inp);
|
|
let out = include!("data/map/epnt.out.1").to_vec();
|
|
|
|
assert_eq!(inp, out);
|
|
}
|
|
|
|
#[test]
|
|
fn read_term_must_process()
|
|
{
|
|
let inp = include_bytes!("data/map/term.in");
|
|
let out = include!("data/map/term.out");
|
|
|
|
let inp = bin::rd_array(inp, map::term::read).unwrap();
|
|
|
|
// 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 map_must_not_process()
|
|
{
|
|
for inp in &RANDOM {
|
|
map::minf::read(inp).err().unwrap();
|
|
map::minf::read_old(inp).err().unwrap();
|
|
bin::rd_array(inp, map::lins::read).err().unwrap();
|
|
bin::rd_array(inp, map::lite::read).err().unwrap();
|
|
bin::rd_array(inp, map::medi::read).err().unwrap();
|
|
bin::rd_array(inp, map::note::read).err().unwrap();
|
|
bin::rd_array(inp, map::objs::read).err().unwrap();
|
|
bin::rd_array(inp, map::plat::read).err().unwrap();
|
|
bin::rd_array(inp, map::poly::read).err().unwrap();
|
|
bin::rd_array(inp, map::sids::read).err().unwrap();
|
|
bin::rd_array(inp, map::term::read).err().unwrap();
|
|
bin::rd_array(inp, map::trmg::read).err().unwrap();
|
|
bin::rd_array(inp, map::lite::read_old).err().unwrap();
|
|
bin::rd_array(inp, map::poly::read_old).err().unwrap();
|
|
bin::rd_array(inp, map::sids::read_old).err().unwrap();
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn map_must_not_panic()
|
|
{
|
|
for inp in &RANDOM {
|
|
drop(bin::rd_array(inp, map::ambi::read));
|
|
drop(bin::rd_array(inp, map::bonk::read));
|
|
drop(bin::rd_array(inp, map::epnt::read));
|
|
drop(bin::rd_array(inp, map::iidx::read));
|
|
drop(bin::rd_array(inp, map::plac::read));
|
|
drop(bin::rd_array(inp, map::trmf::read));
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn phy_must_not_process()
|
|
{
|
|
for inp in &RANDOM {
|
|
bin::rd_array(inp, map::fxpx::read).err().unwrap();
|
|
bin::rd_array(inp, map::mnpx::read).err().unwrap();
|
|
bin::rd_array(inp, map::prpx::read).err().unwrap();
|
|
bin::rd_array(inp, map::wppx::read).err().unwrap();
|
|
}
|
|
}
|
|
|
|
#[test]
|
|
fn phy_must_not_panic()
|
|
{
|
|
for inp in &RANDOM {
|
|
drop(bin::rd_array(inp, map::pxpx::read));
|
|
}
|
|
}
|
|
|
|
// EOF
|