From 1b3ae22707f02da317013e9f3a626ea4c197d787 Mon Sep 17 00:00:00 2001 From: ozzy <2+ozzy@noreply.localhost> Date: Mon, 28 Sep 2026 08:32:34 -0500 Subject: [PATCH] test(lexer): add decimal tests add tests for implicit 0 decimals and normal decimals --- src/math/tests/lexer.rs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) 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]); + } +}