open_pql/pql_parser/ast/
num.rs

1use super::*;
2
3#[derive(Debug, Clone, PartialEq, Eq, From)]
4pub struct Num<'i> {
5    pub inner: &'i str,
6    pub loc: (Loc, Loc),
7    pub is_float: bool,
8}
9
10#[cfg(test)]
11mod tests {
12    use super::{super::super::parser::*, *};
13
14    fn i(s: &str) -> Num<'_> {
15        NumParser::new().parse(s).unwrap()
16    }
17
18    #[test]
19    fn test_num() {
20        assert_eq!(i("0"), ("0", (0, 1), false).into());
21        assert_eq!(i("-1"), ("-1", (0, 2), false).into());
22
23        assert_eq!(i("-1.5"), ("-1.5", (0, 4), true).into());
24        assert_eq!(i("-.5"), ("-.5", (0, 3), true).into());
25        assert_eq!(i(".5"), (".5", (0, 2), true).into());
26    }
27}