compiler/
symbol_table_test.rs1#[cfg(test)]
2mod tests {
3 use crate::symbol_table::{SymbolScope, SymbolTable};
4 #[test]
5 fn test_define() {
6 let mut symbol_table = SymbolTable::new();
7 let symbol = symbol_table.define("x".to_string());
8 assert_eq!(symbol.name, "x");
9 assert_eq!(symbol.scope, SymbolScope::Global);
10 assert_eq!(symbol.index, 0);
11 }
12
13 #[test]
14 fn test_resolve() {
15 let mut symbol_table = SymbolTable::new();
16 let symbol = symbol_table.define("x".to_string());
17 assert_eq!(symbol_table.resolve("x".to_string()), Some(symbol));
18 }
19}