37 lines
581 B
Rust
37 lines
581 B
Rust
|
#![cfg(test)]
|
||
|
|
||
|
use crate::ast::visitor::ASTVisitor;
|
||
|
use crate::ast::walker;
|
||
|
use crate::util::quick_ast;
|
||
|
|
||
|
struct Tester {
|
||
|
count: u64,
|
||
|
float_count: u64
|
||
|
}
|
||
|
|
||
|
impl ASTVisitor for Tester {
|
||
|
fn nat_literal(&mut self, _n: u64) {
|
||
|
self.count += 1;
|
||
|
}
|
||
|
fn float_literal(&mut self, _f: f64) {
|
||
|
self.float_count += 1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
#[test]
|
||
|
fn foo() {
|
||
|
let mut tester = Tester { count: 0, float_count: 0 };
|
||
|
let ast = quick_ast(r#"
|
||
|
import gragh
|
||
|
|
||
|
let a = 20 + 84
|
||
|
let b = 28 + 1 + 2 + 2.0
|
||
|
"#);
|
||
|
|
||
|
tester.visit(&ast);
|
||
|
|
||
|
assert_eq!(tester.count, 5);
|
||
|
assert_eq!(tester.float_count, 1);
|
||
|
}
|