test(lexer): add decimal tests

add tests for implicit 0 decimals and normal decimals
This commit is contained in:
ozzy committed 2026-09-28 08:32:34 -05:00
1 parent 0ce0d65e51
commit 1b3ae22707
1 file changed
+18 -1
+18 -1
View File
@@ -6,7 +6,7 @@ use crate::math::{
}; };
#[test] #[test]
pub fn test_lexer() { pub fn test_lexer_general() {
let lexer = lexer::from("(1 + 2) * 3 + (5 ^ 8 % 7)"); let lexer = lexer::from("(1 + 2) * 3 + (5 ^ 8 % 7)");
let tokens = lexer.collect::<Vec<_>>(); let tokens = lexer.collect::<Vec<_>>();
let expected_tokens = [ let expected_tokens = [
@@ -31,3 +31,20 @@ pub fn test_lexer() {
assert_eq!(tokens[i], expected_tokens[i]); 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::<Vec<_>>();
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]);
}
}