Add failing if_scopes() test
This commit is contained in:
parent
de051f71b8
commit
eacd907c3b
|
@ -139,10 +139,36 @@ mod tests {
|
||||||
} else {
|
} else {
|
||||||
a
|
a
|
||||||
}
|
}
|
||||||
}
|
}"#;
|
||||||
"#;
|
|
||||||
let code_fn = jit_fn::<(i64, i64), i64>(source);
|
let code_fn = jit_fn::<(i64, i64), i64>(source);
|
||||||
assert_eq!(code_fn((2, 4)), 2);
|
assert_eq!(code_fn((2, 4)), 2);
|
||||||
assert_eq!(code_fn((5, 3)), 3);
|
assert_eq!(code_fn((5, 3)), 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn if_scopes() {
|
||||||
|
// TODO this is overcomplicated for a test but i had fun writing it
|
||||||
|
let source = r#"
|
||||||
|
if_scopes(i64 a, i64 b) i64 {
|
||||||
|
let mut c = (a + b); // Test 1: 6, Test 2: 10
|
||||||
|
let d = (a * b); // Test 1: 8, Test 2: 21
|
||||||
|
|
||||||
|
let e = if a < b {
|
||||||
|
// Test 1 only
|
||||||
|
let d = (b - a); // 2
|
||||||
|
c = (c * d); // 12
|
||||||
|
d
|
||||||
|
} else {
|
||||||
|
// Test 2 only
|
||||||
|
// let d = (a - b); // 4
|
||||||
|
// c = (c * d); // 40
|
||||||
|
d
|
||||||
|
};
|
||||||
|
|
||||||
|
c + d + e // Test 1: 22, Test 2: 65
|
||||||
|
}"#;
|
||||||
|
let code_fn = jit_fn::<(i64, i64), i64>(source);
|
||||||
|
assert_eq!(code_fn((2, 4)), 22); // Test 1
|
||||||
|
assert_eq!(code_fn((7, 3)), 65); // Test 2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue