midiserde 0.1.1

When mini isn't enough and serde is too much
Documentation
//! Basic round-trip serialization.
//!
//! Run: `cargo test -p midiserde --features full basic`

use midiserde::{json, Deserialize, Serialize};

#[derive(Debug, PartialEq, Deserialize, Serialize)]
struct Basic {
    name: String,
    count: u32,
}

#[test]
fn roundtrip() {
    let value = Basic {
        name: "hello".into(),
        count: 42,
    };
    let j = json::to_string(&value);
    let parsed: Basic = json::from_str(&j).unwrap();
    assert_eq!(value, parsed);
}

/// Wrong type for field (count as string) returns Err, does not panic.
#[test]
fn invalid_count_type() {
    let j = r#"{"name": "test", "count": "42"}"#;
    let result: Result<Basic, _> = json::from_str(j);
    assert!(result.is_err());
}