dade 0.2.0

dade is data definition for Rust structures.
Documentation
use dade::{json_dump, json_load};
use std::fs::File;
use std::io::{BufReader, Read};

macro_rules! test {
    ($test_name: ident, $file: literal) => {
        #[test]
        fn $test_name() {
            let file = File::open($file).unwrap();
            let mut buf_reader = BufReader::new(file);
            let mut contents = String::new();
            buf_reader.read_to_string(&mut contents).unwrap();
            let ret = json_load(contents.as_str());
            assert!(ret.is_ok());
            assert_eq!(json_dump(&ret.as_ref().unwrap(), false), contents);
            assert_eq!(json_dump(&ret.as_ref().unwrap(), true), contents);
        }
    };
}

test!(test_roundtrip01, "./tests/data/roundtrip/roundtrip01.json");
test!(test_roundtrip02, "./tests/data/roundtrip/roundtrip02.json");
test!(test_roundtrip03, "./tests/data/roundtrip/roundtrip03.json");
test!(test_roundtrip04, "./tests/data/roundtrip/roundtrip04.json");
test!(test_roundtrip05, "./tests/data/roundtrip/roundtrip05.json");
test!(test_roundtrip06, "./tests/data/roundtrip/roundtrip06.json");
test!(test_roundtrip07, "./tests/data/roundtrip/roundtrip07.json");
test!(test_roundtrip08, "./tests/data/roundtrip/roundtrip08.json");
test!(test_roundtrip09, "./tests/data/roundtrip/roundtrip09.json");
test!(test_roundtrip10, "./tests/data/roundtrip/roundtrip10.json");
test!(test_roundtrip11, "./tests/data/roundtrip/roundtrip11.json");
test!(test_roundtrip12, "./tests/data/roundtrip/roundtrip12.json");
test!(test_roundtrip13, "./tests/data/roundtrip/roundtrip13.json");
test!(test_roundtrip14, "./tests/data/roundtrip/roundtrip14.json");
test!(test_roundtrip15, "./tests/data/roundtrip/roundtrip15.json");
test!(test_roundtrip16, "./tests/data/roundtrip/roundtrip16.json");
test!(test_roundtrip17, "./tests/data/roundtrip/roundtrip17.json");
test!(test_roundtrip18, "./tests/data/roundtrip/roundtrip18.json");
test!(test_roundtrip19, "./tests/data/roundtrip/roundtrip19.json");
test!(test_roundtrip20, "./tests/data/roundtrip/roundtrip20.json");
test!(test_roundtrip21, "./tests/data/roundtrip/roundtrip21.json");
test!(test_roundtrip22, "./tests/data/roundtrip/roundtrip22.json");
test!(test_roundtrip23, "./tests/data/roundtrip/roundtrip23.json");
test!(test_roundtrip24, "./tests/data/roundtrip/roundtrip24.json");
test!(test_roundtrip25, "./tests/data/roundtrip/roundtrip25.json");
test!(test_roundtrip26, "./tests/data/roundtrip/roundtrip26.json");
test!(test_roundtrip27, "./tests/data/roundtrip/roundtrip27.json");