Browse Source

added map, filter, and reduce unittests

MatanSilver 8 years ago
parent
commit
00fa30d6b9

+ 12 - 0
test/unittest/list_filter.gravity

@@ -0,0 +1,12 @@
+#unittest {
+    name: "List filter.";
+    result: "[3,12,6,24]";
+};
+
+func main() {
+  var list = [1, 5, 4, 7, 8, 98, 65, 3, 12, 6, 24]
+  func x(a) {
+    return !(a % 3) //! needed because modulo returns 0 if divisible
+  }
+  return list.filter(x).String()
+}

+ 12 - 0
test/unittest/list_map.gravity

@@ -0,0 +1,12 @@
+#unittest {
+    name: "List map.";
+    result: "[0,1,0,1,0,1]";
+};
+
+func main() {
+  var list = [0, 1, 2, 3, 4, 5]
+  func x(a) {
+    return a % 2
+  }
+  return list.map(x).String()
+}

+ 17 - 0
test/unittest/list_reduce.gravity

@@ -0,0 +1,17 @@
+#unittest {
+    name: "List reduce.";
+    result: "thisisatest";
+};
+
+func main() {
+  var list = [0, 1, 2, 3, 4, 5, 6]
+  func x(a, b) {
+    return a - b
+  }
+  var reduced = list.reduce(-1, x) //-22
+  var list2 = ["this","is","a","test"]
+  func y(a, b) {
+    return a + b
+  }
+  return list2.reduce("", y)
+}