test(lexer): add decimal tests
add tests for implicit 0 decimals and normal decimals
This commit is contained in:
1 file changed
+18
-1
+18
-1
@@ -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]);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user