Expand description
Recognize number
use nom::error::{ErrorKind, Error};
use nom::Err;
use wson::number::{number, Number};
// the parser will parse "3"
assert_eq!(number("3"), Ok(("", Number::PositiveInteger(3))));
// the parser will parse "32"
assert_eq!(number("32"), Ok(("", Number::PositiveInteger(32))));
// the parser will parse "-32"
assert_eq!(number("-32"), Ok(("", Number::NegativeInteger(-32))));
// parser will parse "3.21"
assert_eq!(number("3.21"), Ok(("", Number::Float(3.21))));
// parser will parse "-3.21"
assert_eq!(number("-3.21"), Ok(("", Number::Float(-3.21))));
// parser will parse "-1E12"
assert_eq!(number("-1E12"), Ok(("", Number::Float(-1E12))));
// parser will parse "3e21"
assert_eq!(number("3e21"), Ok(("", Number::Float(3e21))));
// parser will parse "3.2e-2"
assert_eq!(number("3.2e-2"), Ok(("", Number::Float(0.032))));
// this will fail if number fails
assert_eq!(number("a"), Err(Err::Error(Error::new("a", ErrorKind::OneOf))));