diff --git a/src/math/tests/lexer.rs b/src/math/tests/lexer.rs index 9e943c4..a7e5c87 100644 --- a/src/math/tests/lexer.rs +++ b/src/math/tests/lexer.rs @@ -6,7 +6,7 @@ use crate::math::{ }; #[test] -pub fn test_lexer() { +pub fn test_lexer_general() { let lexer = lexer::from("(1 + 2) * 3 + (5 ^ 8 % 7)"); let tokens = lexer.collect::>(); let expected_tokens = [ @@ -31,3 +31,20 @@ pub fn test_lexer() { assert_eq!(tokens[i], expected_tokens[i]); } } + +#[test] +pub fn test_lexer_decimals() { + let lexer = lexer::from("0.5 + 0.1111111111 + .5"); + let tokens = lexer.collect::>(); + let expected_tokens = [ + Token::Number(dec!(0.5)), + Token::Operator(Operator::Add), + Token::Number(dec!(0.1111111111)), + Token::Operator(Operator::Add), + Token::Number(dec!(0.5)), + ]; + + for i in 0..tokens.len() { + assert_eq!(tokens[i], expected_tokens[i]); + } +}