summary refs log tree commit diff
path: root/tests/pracownia2/ok
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pracownia2/ok')
-rw-r--r--tests/pracownia2/ok/000_without_expectation_concat_second_magic.xi6
-rw-r--r--tests/pracownia2/ok/001_ifelse_on_pred.xi10
-rw-r--r--tests/pracownia2/ok/002_fetch_int.xi7
-rw-r--r--tests/pracownia2/ok/003_with_expectation_concat_second_empty.xi6
-rw-r--r--tests/pracownia2/ok/004_with_expectation_empty_curly.xi7
-rw-r--r--tests/pracownia2/ok/005_with_expectation_concat_second_magic.xi6
-rw-r--r--tests/pracownia2/ok/006_if_on_literal.xi8
-rw-r--r--tests/pracownia2/ok/007_without_expectation_concat_second_weird.xi6
-rw-r--r--tests/pracownia2/ok/008_fetch_fetch.xi7
-rw-r--r--tests/pracownia2/ok/009_while_on_literal.xi8
-rw-r--r--tests/pracownia2/ok/010_with_expectation_concat_first_weird.xi6
-rw-r--r--tests/pracownia2/ok/011_simple_length.xi6
-rw-r--r--tests/pracownia2/ok/012_with_expectation_concat_first_magic.xi6
-rw-r--r--tests/pracownia2/ok/013_without_expectation_concat_second_empty.xi6
-rw-r--r--tests/pracownia2/ok/014_if_on_var.xi8
-rw-r--r--tests/pracownia2/ok/015_with_expectation_concat_second_weird.xi6
-rw-r--r--tests/pracownia2/ok/016_with_expectation_a_lot_of_magic_int.xi40
-rw-r--r--tests/pracownia2/ok/017_ifelse_on_and.xi9
-rw-r--r--tests/pracownia2/ok/018_if_on_pred.xi9
-rw-r--r--tests/pracownia2/ok/019_ifelse_on_or.xi9
-rw-r--r--tests/pracownia2/ok/020_with_expectation_concat_both_empty.xi6
-rw-r--r--tests/pracownia2/ok/021_mutualrec.xi12
-rw-r--r--tests/pracownia2/ok/022_int.xi10
-rw-r--r--tests/pracownia2/ok/023_with_expectation_concat_both_magic.xi6
-rw-r--r--tests/pracownia2/ok/024_store_bool.xi6
-rw-r--r--tests/pracownia2/ok/025_with_expectation_concat_magic_empty.xi6
-rw-r--r--tests/pracownia2/ok/026_length_string.xi6
-rw-r--r--tests/pracownia2/ok/027_with_expectation_curly_elems.xi7
-rw-r--r--tests/pracownia2/ok/028_while_on_and.xi8
-rw-r--r--tests/pracownia2/ok/029_with_expectation_concat_empty_weird.xi6
-rw-r--r--tests/pracownia2/ok/030_intA.xi8
-rw-r--r--tests/pracownia2/ok/031_if_on_or.xi8
-rw-r--r--tests/pracownia2/ok/032_with_expectation_first_weird.xi6
-rw-r--r--tests/pracownia2/ok/033_with_expectation_concat_weird_empty.xi6
-rw-r--r--tests/pracownia2/ok/034_bool.xi8
-rw-r--r--tests/pracownia2/ok/035_store_store.xi6
-rw-r--r--tests/pracownia2/ok/036_ifelse_on_var.xi9
-rw-r--r--tests/pracownia2/ok/037_with_expectation_concat.xi6
-rw-r--r--tests/pracownia2/ok/038_length_curly.xi6
-rw-r--r--tests/pracownia2/ok/039_if_on_and.xi8
-rw-r--r--tests/pracownia2/ok/040_while_on_var.xi8
-rw-r--r--tests/pracownia2/ok/041_without_expectation_concat.xi6
-rw-r--r--tests/pracownia2/ok/042_init.xi6
-rw-r--r--tests/pracownia2/ok/043_without_expectation_second_weird.xi6
-rw-r--r--tests/pracownia2/ok/044_while_on_or.xi8
-rw-r--r--tests/pracownia2/ok/045_with_expectation_second_weird.xi6
-rw-r--r--tests/pracownia2/ok/046_with_expectation_concat_first_empty.xi6
-rw-r--r--tests/pracownia2/ok/047_with_expectation_concat_empty_magic.xi6
-rw-r--r--tests/pracownia2/ok/048_noconflict_other_scopes.xi11
-rw-r--r--tests/pracownia2/ok/049_ifelse_on_literal.xi9
-rw-r--r--tests/pracownia2/ok/050_without_expectation_curly_elems.xi7
-rw-r--r--tests/pracownia2/ok/051_while_on_pred.xi9
-rw-r--r--tests/pracownia2/ok/052_with_expectation_a_lot_of_magic_bool.xi60
-rw-r--r--tests/pracownia2/ok/053_with_expectation_concat_both_weird.xi6
54 files changed, 474 insertions, 0 deletions
diff --git a/tests/pracownia2/ok/000_without_expectation_concat_second_magic.xi b/tests/pracownia2/ok/000_without_expectation_concat_second_magic.xi
new file mode 100644
index 0000000..24a40c1
--- /dev/null
+++ b/tests/pracownia2/ok/000_without_expectation_concat_second_magic.xi
@@ -0,0 +1,6 @@
+test():int
+{
+    return length({true} + {}[0])
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/001_ifelse_on_pred.xi b/tests/pracownia2/ok/001_ifelse_on_pred.xi
new file mode 100644
index 0000000..4cab2c4
--- /dev/null
+++ b/tests/pracownia2/ok/001_ifelse_on_pred.xi
@@ -0,0 +1,10 @@
+pred():bool
+test()
+{
+    if pred() {
+    } else {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/002_fetch_int.xi b/tests/pracownia2/ok/002_fetch_int.xi
new file mode 100644
index 0000000..447cba9
--- /dev/null
+++ b/tests/pracownia2/ok/002_fetch_int.xi
@@ -0,0 +1,7 @@
+test(x:int[]):int
+{
+    return x[15]
+}
+//@PRACOWNIA
+//@stop_after typechecker
+
diff --git a/tests/pracownia2/ok/003_with_expectation_concat_second_empty.xi b/tests/pracownia2/ok/003_with_expectation_concat_second_empty.xi
new file mode 100644
index 0000000..1844c7c
--- /dev/null
+++ b/tests/pracownia2/ok/003_with_expectation_concat_second_empty.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {true} + {}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/004_with_expectation_empty_curly.xi b/tests/pracownia2/ok/004_with_expectation_empty_curly.xi
new file mode 100644
index 0000000..30b9ff6
--- /dev/null
+++ b/tests/pracownia2/ok/004_with_expectation_empty_curly.xi
@@ -0,0 +1,7 @@
+test():bool[]
+{
+    return {}
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/005_with_expectation_concat_second_magic.xi b/tests/pracownia2/ok/005_with_expectation_concat_second_magic.xi
new file mode 100644
index 0000000..e3bec49
--- /dev/null
+++ b/tests/pracownia2/ok/005_with_expectation_concat_second_magic.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {true} + {}[0]
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/006_if_on_literal.xi b/tests/pracownia2/ok/006_if_on_literal.xi
new file mode 100644
index 0000000..cd1d2bd
--- /dev/null
+++ b/tests/pracownia2/ok/006_if_on_literal.xi
@@ -0,0 +1,8 @@
+test()
+{
+    if true {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/007_without_expectation_concat_second_weird.xi b/tests/pracownia2/ok/007_without_expectation_concat_second_weird.xi
new file mode 100644
index 0000000..377b7bf
--- /dev/null
+++ b/tests/pracownia2/ok/007_without_expectation_concat_second_weird.xi
@@ -0,0 +1,6 @@
+test():int
+{
+    return length({true} + {{}[0]})
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/008_fetch_fetch.xi b/tests/pracownia2/ok/008_fetch_fetch.xi
new file mode 100644
index 0000000..ad01d39
--- /dev/null
+++ b/tests/pracownia2/ok/008_fetch_fetch.xi
@@ -0,0 +1,7 @@
+test(x:int[][]):int
+{
+    return x[1][2]
+}
+//@PRACOWNIA
+//@stop_after typechecker
+
diff --git a/tests/pracownia2/ok/009_while_on_literal.xi b/tests/pracownia2/ok/009_while_on_literal.xi
new file mode 100644
index 0000000..0bc0458
--- /dev/null
+++ b/tests/pracownia2/ok/009_while_on_literal.xi
@@ -0,0 +1,8 @@
+test()
+{
+    while true {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/010_with_expectation_concat_first_weird.xi b/tests/pracownia2/ok/010_with_expectation_concat_first_weird.xi
new file mode 100644
index 0000000..1aa4ac2
--- /dev/null
+++ b/tests/pracownia2/ok/010_with_expectation_concat_first_weird.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {{}[0]} + {true}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/011_simple_length.xi b/tests/pracownia2/ok/011_simple_length.xi
new file mode 100644
index 0000000..629bf19
--- /dev/null
+++ b/tests/pracownia2/ok/011_simple_length.xi
@@ -0,0 +1,6 @@
+test(x:bool[]):int
+{
+    return length(x)
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/012_with_expectation_concat_first_magic.xi b/tests/pracownia2/ok/012_with_expectation_concat_first_magic.xi
new file mode 100644
index 0000000..62b3626
--- /dev/null
+++ b/tests/pracownia2/ok/012_with_expectation_concat_first_magic.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {}[0] + {true}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/013_without_expectation_concat_second_empty.xi b/tests/pracownia2/ok/013_without_expectation_concat_second_empty.xi
new file mode 100644
index 0000000..b294650
--- /dev/null
+++ b/tests/pracownia2/ok/013_without_expectation_concat_second_empty.xi
@@ -0,0 +1,6 @@
+test():int
+{
+    return length({true} + {})
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/014_if_on_var.xi b/tests/pracownia2/ok/014_if_on_var.xi
new file mode 100644
index 0000000..b69eaf2
--- /dev/null
+++ b/tests/pracownia2/ok/014_if_on_var.xi
@@ -0,0 +1,8 @@
+test(x:bool)
+{
+    if x {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/015_with_expectation_concat_second_weird.xi b/tests/pracownia2/ok/015_with_expectation_concat_second_weird.xi
new file mode 100644
index 0000000..c7993e3
--- /dev/null
+++ b/tests/pracownia2/ok/015_with_expectation_concat_second_weird.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {true} + {{}[0]}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/016_with_expectation_a_lot_of_magic_int.xi b/tests/pracownia2/ok/016_with_expectation_a_lot_of_magic_int.xi
new file mode 100644
index 0000000..d73c4c6
--- /dev/null
+++ b/tests/pracownia2/ok/016_with_expectation_a_lot_of_magic_int.xi
@@ -0,0 +1,40 @@
+consumer1(x:int[])
+consumer2(x:int[][])
+consumer3(x:int[][][])
+ 
+test()
+{
+    consumer1(
+        { {{}[0]}[0]
+        , {}[0]
+        , {}[0][0][0]
+        })
+    consumer2(
+        { {{}[0]}[0]
+        , {}[0]
+        , {}[0][0][0]
+        })
+    consumer2(
+        { { {{}[0]}[0]   }
+        , { {}[0]        }
+        , { {}[0][0][0]  }
+        })
+    consumer3(
+        { {{}[0]}[0]
+        , {}[0]
+        , {}[0][0][0]
+        })
+    consumer3(
+        { { {{}[0]}[0]  }
+        , { {}[0]       }
+        , { {}[0][0][0] }
+        })
+    consumer3(
+        { { { {{}[0]}[0]  } }
+        , { { {}[0]       } }
+        , { { {}[0][0][0] } }
+        })
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/017_ifelse_on_and.xi b/tests/pracownia2/ok/017_ifelse_on_and.xi
new file mode 100644
index 0000000..5ac374e
--- /dev/null
+++ b/tests/pracownia2/ok/017_ifelse_on_and.xi
@@ -0,0 +1,9 @@
+test()
+{
+    if true & false {
+    } else {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/018_if_on_pred.xi b/tests/pracownia2/ok/018_if_on_pred.xi
new file mode 100644
index 0000000..1bc8917
--- /dev/null
+++ b/tests/pracownia2/ok/018_if_on_pred.xi
@@ -0,0 +1,9 @@
+pred():bool
+test()
+{
+    if pred() {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/019_ifelse_on_or.xi b/tests/pracownia2/ok/019_ifelse_on_or.xi
new file mode 100644
index 0000000..451ce2e
--- /dev/null
+++ b/tests/pracownia2/ok/019_ifelse_on_or.xi
@@ -0,0 +1,9 @@
+test()
+{
+    if true | false {
+    } else {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/020_with_expectation_concat_both_empty.xi b/tests/pracownia2/ok/020_with_expectation_concat_both_empty.xi
new file mode 100644
index 0000000..a14097b
--- /dev/null
+++ b/tests/pracownia2/ok/020_with_expectation_concat_both_empty.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {} + {}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/021_mutualrec.xi b/tests/pracownia2/ok/021_mutualrec.xi
new file mode 100644
index 0000000..26d1b5b
--- /dev/null
+++ b/tests/pracownia2/ok/021_mutualrec.xi
@@ -0,0 +1,12 @@
+
+f(): int {
+    return g()
+}
+
+
+g(): int {
+    return f()
+}
+
+//@PRACOWNIA
+//@stop_after parser
diff --git a/tests/pracownia2/ok/022_int.xi b/tests/pracownia2/ok/022_int.xi
new file mode 100644
index 0000000..ae97ae7
--- /dev/null
+++ b/tests/pracownia2/ok/022_int.xi
@@ -0,0 +1,10 @@
+test()
+{
+    x:int = 1
+    x = 42
+    x = 'a'
+}    
+
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/023_with_expectation_concat_both_magic.xi b/tests/pracownia2/ok/023_with_expectation_concat_both_magic.xi
new file mode 100644
index 0000000..b30b3bd
--- /dev/null
+++ b/tests/pracownia2/ok/023_with_expectation_concat_both_magic.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {}[0] + {}[0]
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/024_store_bool.xi b/tests/pracownia2/ok/024_store_bool.xi
new file mode 100644
index 0000000..5991605
--- /dev/null
+++ b/tests/pracownia2/ok/024_store_bool.xi
@@ -0,0 +1,6 @@
+test(x:bool[])
+{
+    x[15] = true
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/025_with_expectation_concat_magic_empty.xi b/tests/pracownia2/ok/025_with_expectation_concat_magic_empty.xi
new file mode 100644
index 0000000..9a00030
--- /dev/null
+++ b/tests/pracownia2/ok/025_with_expectation_concat_magic_empty.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {}[0] + {}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/026_length_string.xi b/tests/pracownia2/ok/026_length_string.xi
new file mode 100644
index 0000000..acef6a4
--- /dev/null
+++ b/tests/pracownia2/ok/026_length_string.xi
@@ -0,0 +1,6 @@
+test():int
+{
+    return length("Klucze do domu")
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/027_with_expectation_curly_elems.xi b/tests/pracownia2/ok/027_with_expectation_curly_elems.xi
new file mode 100644
index 0000000..eb407c1
--- /dev/null
+++ b/tests/pracownia2/ok/027_with_expectation_curly_elems.xi
@@ -0,0 +1,7 @@
+test():bool[]
+{
+    return {true, false, true}
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/028_while_on_and.xi b/tests/pracownia2/ok/028_while_on_and.xi
new file mode 100644
index 0000000..cf00ff1
--- /dev/null
+++ b/tests/pracownia2/ok/028_while_on_and.xi
@@ -0,0 +1,8 @@
+test()
+{
+    while true & false {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/029_with_expectation_concat_empty_weird.xi b/tests/pracownia2/ok/029_with_expectation_concat_empty_weird.xi
new file mode 100644
index 0000000..e361865
--- /dev/null
+++ b/tests/pracownia2/ok/029_with_expectation_concat_empty_weird.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {} + {{}[0]}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/030_intA.xi b/tests/pracownia2/ok/030_intA.xi
new file mode 100644
index 0000000..3c052aa
--- /dev/null
+++ b/tests/pracownia2/ok/030_intA.xi
@@ -0,0 +1,8 @@
+test()
+{
+    x:int[] = "University"
+    x = "of Wroclaw"
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/031_if_on_or.xi b/tests/pracownia2/ok/031_if_on_or.xi
new file mode 100644
index 0000000..5ee0e99
--- /dev/null
+++ b/tests/pracownia2/ok/031_if_on_or.xi
@@ -0,0 +1,8 @@
+test()
+{
+    if true | false {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/032_with_expectation_first_weird.xi b/tests/pracownia2/ok/032_with_expectation_first_weird.xi
new file mode 100644
index 0000000..b25485a
--- /dev/null
+++ b/tests/pracownia2/ok/032_with_expectation_first_weird.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {{}[0], false, true}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/033_with_expectation_concat_weird_empty.xi b/tests/pracownia2/ok/033_with_expectation_concat_weird_empty.xi
new file mode 100644
index 0000000..86a956b
--- /dev/null
+++ b/tests/pracownia2/ok/033_with_expectation_concat_weird_empty.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {{}[0]} + {}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/034_bool.xi b/tests/pracownia2/ok/034_bool.xi
new file mode 100644
index 0000000..ebf7565
--- /dev/null
+++ b/tests/pracownia2/ok/034_bool.xi
@@ -0,0 +1,8 @@
+test()
+{
+    x:bool = true
+    x = false
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/035_store_store.xi b/tests/pracownia2/ok/035_store_store.xi
new file mode 100644
index 0000000..8af586b
--- /dev/null
+++ b/tests/pracownia2/ok/035_store_store.xi
@@ -0,0 +1,6 @@
+test(x:bool[][])
+{
+    x[0][1] = true
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/036_ifelse_on_var.xi b/tests/pracownia2/ok/036_ifelse_on_var.xi
new file mode 100644
index 0000000..e906f81
--- /dev/null
+++ b/tests/pracownia2/ok/036_ifelse_on_var.xi
@@ -0,0 +1,9 @@
+test(x:bool)
+{
+    if x {
+    } else {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/037_with_expectation_concat.xi b/tests/pracownia2/ok/037_with_expectation_concat.xi
new file mode 100644
index 0000000..402e822
--- /dev/null
+++ b/tests/pracownia2/ok/037_with_expectation_concat.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {false, true} + {true, false}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/038_length_curly.xi b/tests/pracownia2/ok/038_length_curly.xi
new file mode 100644
index 0000000..7aae6bd
--- /dev/null
+++ b/tests/pracownia2/ok/038_length_curly.xi
@@ -0,0 +1,6 @@
+test():int
+{
+    return length({true, false})
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/039_if_on_and.xi b/tests/pracownia2/ok/039_if_on_and.xi
new file mode 100644
index 0000000..bff5231
--- /dev/null
+++ b/tests/pracownia2/ok/039_if_on_and.xi
@@ -0,0 +1,8 @@
+test()
+{
+    if true & false {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/040_while_on_var.xi b/tests/pracownia2/ok/040_while_on_var.xi
new file mode 100644
index 0000000..881cc76
--- /dev/null
+++ b/tests/pracownia2/ok/040_while_on_var.xi
@@ -0,0 +1,8 @@
+test(x:bool)
+{
+    while x {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/041_without_expectation_concat.xi b/tests/pracownia2/ok/041_without_expectation_concat.xi
new file mode 100644
index 0000000..bb368db
--- /dev/null
+++ b/tests/pracownia2/ok/041_without_expectation_concat.xi
@@ -0,0 +1,6 @@
+test():int
+{
+    return length({false, true} + {true, false})
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/042_init.xi b/tests/pracownia2/ok/042_init.xi
new file mode 100644
index 0000000..3f5c86f
--- /dev/null
+++ b/tests/pracownia2/ok/042_init.xi
@@ -0,0 +1,6 @@
+test()
+{
+    a:int[42][];
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/043_without_expectation_second_weird.xi b/tests/pracownia2/ok/043_without_expectation_second_weird.xi
new file mode 100644
index 0000000..66997bf
--- /dev/null
+++ b/tests/pracownia2/ok/043_without_expectation_second_weird.xi
@@ -0,0 +1,6 @@
+test():int
+{
+    return length({false, {{}}[0][0], true})
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/044_while_on_or.xi b/tests/pracownia2/ok/044_while_on_or.xi
new file mode 100644
index 0000000..bf80140
--- /dev/null
+++ b/tests/pracownia2/ok/044_while_on_or.xi
@@ -0,0 +1,8 @@
+test()
+{
+    while true | false {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/045_with_expectation_second_weird.xi b/tests/pracownia2/ok/045_with_expectation_second_weird.xi
new file mode 100644
index 0000000..26f7d74
--- /dev/null
+++ b/tests/pracownia2/ok/045_with_expectation_second_weird.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {false, {{}}[0][0], true}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/046_with_expectation_concat_first_empty.xi b/tests/pracownia2/ok/046_with_expectation_concat_first_empty.xi
new file mode 100644
index 0000000..c9b0b43
--- /dev/null
+++ b/tests/pracownia2/ok/046_with_expectation_concat_first_empty.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {} + {true}
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/047_with_expectation_concat_empty_magic.xi b/tests/pracownia2/ok/047_with_expectation_concat_empty_magic.xi
new file mode 100644
index 0000000..92dc19e
--- /dev/null
+++ b/tests/pracownia2/ok/047_with_expectation_concat_empty_magic.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {} + {}[0]
+}
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/048_noconflict_other_scopes.xi b/tests/pracownia2/ok/048_noconflict_other_scopes.xi
new file mode 100644
index 0000000..788c5ee
--- /dev/null
+++ b/tests/pracownia2/ok/048_noconflict_other_scopes.xi
@@ -0,0 +1,11 @@
+test(x:bool)
+{
+    if x {
+        y:int
+    } else {
+        y:int[]
+    }
+}
+//@PRACOWNIA
+//@stop_after typechecker
+
diff --git a/tests/pracownia2/ok/049_ifelse_on_literal.xi b/tests/pracownia2/ok/049_ifelse_on_literal.xi
new file mode 100644
index 0000000..abae0f2
--- /dev/null
+++ b/tests/pracownia2/ok/049_ifelse_on_literal.xi
@@ -0,0 +1,9 @@
+test()
+{
+    if true {
+    } else {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/050_without_expectation_curly_elems.xi b/tests/pracownia2/ok/050_without_expectation_curly_elems.xi
new file mode 100644
index 0000000..246c002
--- /dev/null
+++ b/tests/pracownia2/ok/050_without_expectation_curly_elems.xi
@@ -0,0 +1,7 @@
+test():int
+{
+    return length({true, false, true})
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/051_while_on_pred.xi b/tests/pracownia2/ok/051_while_on_pred.xi
new file mode 100644
index 0000000..9167206
--- /dev/null
+++ b/tests/pracownia2/ok/051_while_on_pred.xi
@@ -0,0 +1,9 @@
+pred():bool
+test()
+{
+    while pred() {
+    }
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/052_with_expectation_a_lot_of_magic_bool.xi b/tests/pracownia2/ok/052_with_expectation_a_lot_of_magic_bool.xi
new file mode 100644
index 0000000..3400fbc
--- /dev/null
+++ b/tests/pracownia2/ok/052_with_expectation_a_lot_of_magic_bool.xi
@@ -0,0 +1,60 @@
+consumer1(x:bool[])
+consumer2(x:bool[][])
+consumer3(x:bool[][][])
+ 
+test()
+{
+    consumer1(
+        { {{}[0]}[0]
+        , {}[0]
+        , {}[0][0][0]
+        })
+    consumer2(
+        { {{}[0]}[0]
+        , {}[0]
+        , {}[0][0][0]
+        })
+    consumer2(
+        { { {{}[0]}[0] }
+        , {}[0]
+        , {}[0][0][0]
+        })
+    consumer2(
+        { {{}[0]}[0]
+        , { {}[0] }
+        , {}[0][0][0]
+        })
+    consumer2(
+        { {{}[0]}[0]
+        , {}[0]
+        , { {}[0][0][0] }
+        })
+    consumer2(
+        { { {{}[0]}[0]   }
+        , { {}[0]        }
+        , { {}[0][0][0]  }
+        })
+    consumer3(
+        { {{}[0]}[0]
+        , {}[0]
+        , {}[0][0][0]
+        })
+    consumer3(
+        { { {{}[0]}[0]  }
+        , { {}[0]       }
+        , { {}[0][0][0] }
+        })
+    consumer3(
+        { {{}[0]}[0]
+        , {}[0]
+        , { {}[0][0][0] }
+        })
+    consumer3(
+        { { { {{}[0]}[0]  } }
+        , { { {}[0]       } }
+        , { { {}[0][0][0] } }
+        })
+}
+
+//@PRACOWNIA
+//@stop_after typechecker
diff --git a/tests/pracownia2/ok/053_with_expectation_concat_both_weird.xi b/tests/pracownia2/ok/053_with_expectation_concat_both_weird.xi
new file mode 100644
index 0000000..28923a5
--- /dev/null
+++ b/tests/pracownia2/ok/053_with_expectation_concat_both_weird.xi
@@ -0,0 +1,6 @@
+test():bool[]
+{
+    return {{}[0]} + {{}[0]}
+}
+//@PRACOWNIA
+//@stop_after typechecker