pddl 0.2.0

A PDDL 3.1 parser, strongly typed
Documentation
use crate::pretty_print::{sealed, PrettyRenderer};
use crate::types::Number;
use crate::visitor::Visitor;
use pretty::RcDoc;

impl sealed::Sealed for Number {}

impl Visitor<Number, RcDoc<'static>> for PrettyRenderer {
    fn visit(&self, value: &Number) -> RcDoc<'static> {
        RcDoc::text(format!("{}", **value))
    }
}

#[cfg(test)]
mod tests {
    use super::*;
    use crate::pretty_print::prettify;
    use crate::visitor::Accept;

    #[test]
    fn number_works() {
        let x = Number::from(42);
        assert_eq!(prettify!(x, 10), "42");
    }

    #[test]
    fn float_number_works() {
        let x = Number::from(2.71);
        assert_eq!(prettify!(x, 10), "2.71");
    }
}