#![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 fn heh() { let m = 9 } "#); walker::walk_ast(&mut tester, &ast); assert_eq!(tester.count, 6); assert_eq!(tester.float_count, 1); }