step-p21 0.1.1

ISO 10303-21 (STEP file) parser and serde-based entity tables
Documentation
use nom::Finish;
use serde::Deserialize;
use step_p21::{ast::*, parser::exchange};

#[derive(Debug, Clone, PartialEq, serde::Deserialize)]
enum MagicaQuartet {
    MamiTomoe,
    MadokaKaname,
    SayakaMiki,
    KyokoSakura,
    HomuraAkemi,
}

#[test]
fn enum_deserialize() {
    let (residual, p): (_, Parameter) =
        exchange::parameter(".HOMURA_AKEMI.").finish().unwrap();
    assert_eq!(residual, "");
    dbg!(&p);
    assert_eq!(p, Parameter::Enumeration("HOMURA_AKEMI".to_string()));

    let a: MagicaQuartet = Deserialize::deserialize(&p).unwrap();
    assert_eq!(a, MagicaQuartet::HomuraAkemi);
}