Add context tests
This commit is contained in:
parent
2463e44301
commit
0e3a3e94c8
@ -143,4 +143,54 @@ mod tests {
|
||||
|
||||
assert_eq!(context.variables.len(), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn context_removes_used_variables() {
|
||||
let source = "
|
||||
x = 5
|
||||
y = 10
|
||||
z = x + y
|
||||
z
|
||||
";
|
||||
let mut context = Context::new();
|
||||
|
||||
run_with_context(source, &mut context).unwrap();
|
||||
|
||||
assert_eq!(context.variables.len(), 0);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn context_does_not_remove_variables_during_loop() {
|
||||
let source = "
|
||||
x = 5
|
||||
y = 10
|
||||
z = x + y
|
||||
while z < 10 {
|
||||
z = z + 1
|
||||
}
|
||||
";
|
||||
let mut context = Context::new();
|
||||
|
||||
run_with_context(source, &mut context).unwrap();
|
||||
|
||||
assert_eq!(context.variables.len(), 1);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn context_removes_variables_after_loop() {
|
||||
let source = "
|
||||
x = 5
|
||||
y = 10
|
||||
z = x + y
|
||||
while z < 10 {
|
||||
z = z + 1
|
||||
}
|
||||
z
|
||||
";
|
||||
let mut context = Context::new();
|
||||
|
||||
run_with_context(source, &mut context).unwrap();
|
||||
|
||||
assert_eq!(context.variables.len(), 0);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user