compiler/
symbol_table_test.rs

1#[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}