Maraiah/tests/map.rs

64 lines
2.0 KiB
Rust
Raw Normal View History

2019-03-04 20:57:25 -08:00
use maraiah::{durandal::{bin, fixed::*}, marathon::map};
2019-03-04 06:10:38 -08:00
2019-03-04 18:55:49 -08:00
include!("data/rand.rs");
2019-03-04 06:10:38 -08:00
#[test]
fn read_minf_must_process()
{
2019-03-12 13:28:08 -07:00
const INPUT: &[u8] = include_bytes!("data/map/minf.in");
2019-03-04 06:10:38 -08:00
2019-03-07 00:12:00 -08:00
let out = map::Minf{texture_id: 0,
physics_id: 1,
skypict_id: 1,
miss_flags: map::MsnFlags::REPAIR,
envi_flags: map::EnvFlags::empty(),
entr_flags: map::EntFlags::SOLO | map::EntFlags::CO_OP,
level_name: "Waterloo Waterpark".to_string()};
2019-03-04 06:10:38 -08:00
assert_eq!(map::read_minf(INPUT).unwrap(), out);
}
#[test]
fn read_epnt_must_process()
{
2019-03-12 13:28:08 -07:00
const INPUT: &[u8] = include_bytes!("data/map/epnt.in");
const OUTPUT: [map::Point; 54] = include!("data/map/epnt.out");
2019-03-04 06:10:38 -08:00
assert_eq!(bin::rd_array(INPUT, map::read_epnt).unwrap(), OUTPUT.to_vec());
}
2019-03-04 18:55:49 -08:00
#[test]
fn map_must_not_process()
{
for inp in &RANDOM {
assert!(map::read_minf(inp).is_err());
assert!(map::read_old_minf(inp).is_err());
assert!(bin::rd_array(inp, map::read_lins).is_err());
assert!(bin::rd_array(inp, map::read_lite).is_err());
assert!(bin::rd_array(inp, map::read_medi).is_err());
assert!(bin::rd_array(inp, map::read_note).is_err());
assert!(bin::rd_array(inp, map::read_objs).is_err());
assert!(bin::rd_array(inp, map::read_plat).is_err());
assert!(bin::rd_array(inp, map::read_poly).is_err());
assert!(bin::rd_array(inp, map::read_sids).is_err());
assert!(bin::rd_array(inp, map::read_old_lite).is_err());
assert!(bin::rd_array(inp, map::read_old_poly).is_err());
assert!(bin::rd_array(inp, map::read_old_sids).is_err());
}
}
#[test]
#[allow(unused_must_use)]
2019-03-09 14:03:20 -08:00
fn map_must_not_panic()
2019-03-04 18:55:49 -08:00
{
for inp in &RANDOM {
bin::rd_array(inp, map::read_ambi);
bin::rd_array(inp, map::read_bonk);
bin::rd_array(inp, map::read_epnt);
bin::rd_array(inp, map::read_iidx);
bin::rd_array(inp, map::read_plac);
}
}
2019-03-04 06:10:38 -08:00
// EOF