浏览代码

ncd: tests: add foreach.ncd

ambrop7 13 年之前
父节点
当前提交
aa143b7c02
共有 1 个文件被更改,包括 35 次插入0 次删除
  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");
+}