Maraiah/tests/png.rs

229 lines
5.0 KiB
Rust

use maraiah::marathon::png;
include!("data/rand.rs");
#[test]
fn png_must_not_succeed()
{
for inp in &RANDOM {
assert!(png::load_png(inp).is_err());
}
}
macro_rules! input {
( good $id:ident ) => {
mod $id
{
use maraiah::marathon::{png, ppm};
const INPUT: &[u8] =
include_bytes!(concat!("data/png/png/", stringify!($id), ".png"));
const OUTPUT: &[u8] =
include_bytes!(concat!("data/png/ppm/", stringify!($id), ".ppm"));
#[test]
fn must_succeed()
{
let png = png::load_png(INPUT).unwrap();
let ppm = ppm::read_ppm(OUTPUT).unwrap();
assert_eq!(png, ppm);
}
}
};
( bad $id:ident ) => {
mod $id
{
use maraiah::marathon::png;
const INPUT: &[u8] =
include_bytes!(concat!("data/png/png/", stringify!($id), ".png"));
#[test]
fn must_not_succeed()
{
assert!(png::load_png(INPUT).is_err());
}
}
};
}
input!(good basi0g01);
input!(good basi0g02);
input!(good basi0g04);
input!(good basi0g08);
input!(good basi0g16);
input!(good basi2c08);
input!(good basi2c16);
input!(good basi3p01);
input!(good basi3p02);
input!(good basi3p04);
input!(good basi3p08);
input!(good basi4a08);
input!(good basi4a16);
input!(good basi6a08);
input!(good basi6a16);
input!(good basn0g01);
input!(good basn0g02);
input!(good basn0g04);
input!(good basn0g08);
input!(good basn0g16);
input!(good basn2c08);
input!(good basn2c16);
input!(good basn3p01);
input!(good basn3p02);
input!(good basn3p04);
input!(good basn3p08);
input!(good basn4a08);
input!(good basn4a16);
input!(good basn6a08);
input!(good basn6a16);
input!(good bgai4a08);
input!(good bgai4a16);
input!(good bgan6a08);
input!(good bgan6a16);
input!(good bgbn4a08);
input!(good bggn4a16);
input!(good bgwn6a08);
input!(good bgyn6a16);
input!(good ccwn2c08);
input!(good ccwn3p08);
input!(good cdfn2c08);
input!(good cdhn2c08);
input!(good cdsn2c08);
input!(good cdun2c08);
input!(good ch1n3p04);
input!(good ch2n3p08);
input!(good cm0n0g04);
input!(good cm7n0g04);
input!(good cm9n0g04);
input!(good cs3n2c16);
input!(good cs3n3p08);
input!(good cs5n2c08);
input!(good cs5n3p08);
input!(good cs8n2c08);
input!(good cs8n3p08);
input!(good ct0n0g04);
input!(good ct1n0g04);
input!(good cten0g04);
input!(good ctfn0g04);
input!(good ctgn0g04);
input!(good cthn0g04);
input!(good ctjn0g04);
input!(good ctzn0g04);
input!(good exif2c08);
input!(good f00n0g08);
input!(good f00n2c08);
input!(good f01n0g08);
input!(good f01n2c08);
input!(good f02n0g08);
input!(good f02n2c08);
input!(good f03n0g08);
input!(good f03n2c08);
input!(good f04n0g08);
input!(good f04n2c08);
input!(good f99n0g04);
input!(good g03n0g16);
input!(good g03n2c08);
input!(good g03n3p04);
input!(good g04n0g16);
input!(good g04n2c08);
input!(good g04n3p04);
input!(good g05n0g16);
input!(good g05n2c08);
input!(good g05n3p04);
input!(good g07n0g16);
input!(good g07n2c08);
input!(good g07n3p04);
input!(good g10n0g16);
input!(good g10n2c08);
input!(good g10n3p04);
input!(good g25n0g16);
input!(good g25n2c08);
input!(good g25n3p04);
input!(good oi1n0g16);
input!(good oi1n2c16);
input!(good oi2n0g16);
input!(good oi2n2c16);
input!(good oi4n0g16);
input!(good oi4n2c16);
input!(good oi9n0g16);
input!(good oi9n2c16);
input!(good pp0n2c16);
input!(good pp0n6a08);
input!(good ps1n0g08);
input!(good ps1n2c16);
input!(good ps2n0g08);
input!(good ps2n2c16);
input!(good s01i3p01);
input!(good s01n3p01);
input!(good s02i3p01);
input!(good s02n3p01);
input!(good s03i3p01);
input!(good s03n3p01);
input!(good s04i3p01);
input!(good s04n3p01);
input!(good s05i3p02);
input!(good s05n3p02);
input!(good s06i3p02);
input!(good s06n3p02);
input!(good s07i3p02);
input!(good s07n3p02);
input!(good s08i3p02);
input!(good s08n3p02);
input!(good s09i3p02);
input!(good s09n3p02);
input!(good s32i3p04);
input!(good s32n3p04);
input!(good s33i3p04);
input!(good s33n3p04);
input!(good s34i3p04);
input!(good s34n3p04);
input!(good s35i3p04);
input!(good s35n3p04);
input!(good s36i3p04);
input!(good s36n3p04);
input!(good s37i3p04);
input!(good s37n3p04);
input!(good s38i3p04);
input!(good s38n3p04);
input!(good s39i3p04);
input!(good s39n3p04);
input!(good s40i3p04);
input!(good s40n3p04);
input!(good tbbn0g04);
input!(good tbbn2c16);
input!(good tbbn3p08);
input!(good tbgn2c16);
input!(good tbgn3p08);
input!(good tbrn2c08);
input!(good tbwn0g16);
input!(good tbwn3p08);
input!(good tbyn3p08);
input!(good tm3n3p02);
input!(good tp0n0g08);
input!(good tp0n2c08);
input!(good tp0n3p08);
input!(good tp1n3p08);
input!(good z00n2c08);
input!(good z03n2c08);
input!(good z06n2c08);
input!(good z09n2c08);
input!(bad xc1n0g08);
input!(bad xc9n2c08);
input!(bad xcrn0g04);
input!(bad xcsn0g01);
input!(bad xd0n2c08);
input!(bad xd3n2c08);
input!(bad xd9n2c08);
input!(bad xdtn0g01);
input!(bad xhdn0g08);
input!(bad xlfn0g04);
input!(bad xs1n0g01);
input!(bad xs2n0g01);
input!(bad xs4n0g01);
input!(bad xs7n0g01);
// EOF