diff options
Diffstat (limited to 'tests/control_flow/test_ternary.zc')
| -rw-r--r-- | tests/control_flow/test_ternary.zc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/control_flow/test_ternary.zc b/tests/control_flow/test_ternary.zc new file mode 100644 index 0000000..cfac28b --- /dev/null +++ b/tests/control_flow/test_ternary.zc @@ -0,0 +1,30 @@ + +enum Result { + Ok(int), + Err(int) +} + +fn test_unwrap() -> Result { + var res = Result_Ok(42); + var val = res?; + if (val == 42) println " Unwrap: Success"; + else println " Unwrap: Failed"; + return res; +} + +test "test_ternary" { + println "Testing Ternary..."; + + // Simple Ternary + var x = 1 ? 10 : 20; + if (x == 10) println " Simple Ternary: Success"; + else println " Simple Ternary: Failed"; + + // Simple Unwrap + test_unwrap(); + + // Ambiguity / Precredence + // 1 ? 2 : 3 + var y = 0 ? 100 : 200; + if (y == 200) println " False Branch: Success"; +} |
