ruststep 0.4.0

A STEP toolkit for Rust
Documentation
use nom::Finish;
use ruststep::{ast::*, parser::exchange};
use serde::Deserialize;

#[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);
}