aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runnable
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/runnable')
-rw-r--r--testsuite/runnable/case_else.elna14
-rw-r--r--testsuite/runnable/case_int.elna12
-rw-r--r--testsuite/runnable/case_multilabel.elna11
-rw-r--r--testsuite/runnable/case_record.elna17
4 files changed, 54 insertions, 0 deletions
diff --git a/testsuite/runnable/case_else.elna b/testsuite/runnable/case_else.elna
new file mode 100644
index 0000000..dbec6df
--- /dev/null
+++ b/testsuite/runnable/case_else.elna
@@ -0,0 +1,14 @@
+var
+ x: Int := 5
+ matched: Bool := false
+
+begin
+ case x of
+ 1: assert(false)
+ | 2: assert(false)
+ | 3: assert(false)
+ else
+ matched := true
+ end;
+ assert(matched)
+end.
diff --git a/testsuite/runnable/case_int.elna b/testsuite/runnable/case_int.elna
new file mode 100644
index 0000000..3b770a7
--- /dev/null
+++ b/testsuite/runnable/case_int.elna
@@ -0,0 +1,12 @@
+var
+ x: Int := 2
+
+begin
+ case x of
+ 1: assert(false)
+ | 2: assert(true)
+ | 3: assert(false)
+ else
+ assert(false)
+ end
+end.
diff --git a/testsuite/runnable/case_multilabel.elna b/testsuite/runnable/case_multilabel.elna
new file mode 100644
index 0000000..be647d4
--- /dev/null
+++ b/testsuite/runnable/case_multilabel.elna
@@ -0,0 +1,11 @@
+var
+ x: Int := 3
+
+begin
+ case x of
+ 1, 2, 3: assert(true)
+ | 4, 5: assert(false)
+ else
+ assert(false)
+ end
+end.
diff --git a/testsuite/runnable/case_record.elna b/testsuite/runnable/case_record.elna
new file mode 100644
index 0000000..4f65a5b
--- /dev/null
+++ b/testsuite/runnable/case_record.elna
@@ -0,0 +1,17 @@
+type
+ R = record
+ a: Int;
+ b: Int
+ end
+
+var
+ r: R := R{a: 1, b: 2}
+
+begin
+ case r of
+ R{a: 0, b: 0}: assert(false)
+ | R{a: 1, b: 2}: assert(true)
+ else
+ assert(false)
+ end
+end.