Prechádzať zdrojové kódy

ncd: tests: add foreach.ncd

ambrop7 13 rokov pred
rodič
commit
aa143b7c02
1 zmenil súbory, kde vykonal 35 pridanie a 0 odobranie
  1. 35 0
      ncd/tests/foreach.ncd

+ 35 - 0
ncd/tests/foreach.ncd

@@ -0,0 +1,35 @@
+process main {
+    var({"a", "b", "c", "d"}) list;
+    value(["a":"1", "b":"2", "c":"3", "d":"4"]) map;
+
+    value({}) new;
+    Foreach (list As value) {
+        new->insert(new.length, value);
+    };
+    val_equal(new, list) a;
+    assert(a);
+
+    value({}) new;
+    Foreach (list As index:value) {
+        new->insert(index, value);
+    };
+    val_equal(new, list) a;
+    assert(a);
+
+    value([]) new;
+    Foreach (map As key) {
+        map->get(key) value;
+        new->insert(key, value);
+    };
+    val_equal(new, map) a;
+    assert(a);
+
+    value([]) new;
+    Foreach (map As key:value) {
+        new->insert(key, value);
+    };
+    val_equal(new, map) a;
+    assert(a);
+
+    exit("0");
+}