Billy Barrow 2 年之前
父节点
当前提交
942435f79c
共有 1 个文件被更改,包括 44 次插入2 次删除
  1. 44 2
      src/tests/Integration/Parallel.vala

+ 44 - 2
src/tests/Integration/Parallel.vala

@@ -3,7 +3,7 @@ using Invercargill;
 void parallel_tests() {
 void parallel_tests() {
 
 
 
 
-    Test.add_func("/invercargill/operator/parallel/task", () => {
+    Test.add_func("/invercargill/operator/parallel/select", () => {
         var items = ate(new ParallelObj[] { 
         var items = ate(new ParallelObj[] { 
             new ParallelObj(),
             new ParallelObj(),
             new ParallelObj(),
             new ParallelObj(),
@@ -15,11 +15,53 @@ void parallel_tests() {
             new ParallelObj(),
             new ParallelObj(),
         });
         });
 
 
-        var result = items.parallel<ParallelObj>(o => o.big_process(), 4).to_sequence();
+        var result = items.parallel_select<ParallelObj>(o => o.big_process(), 4).to_sequence();
         
         
         assert_true(result.all(o => o.processed));
         assert_true(result.all(o => o.processed));
     });
     });
 
 
+    Test.add_func("/invercargill/operator/parallel/iterate", () => {
+        var items = ate(new ParallelObj[] { 
+            new ParallelObj(),
+            new ParallelObj(),
+            new ParallelObj(),
+            new ParallelObj(),
+            new ParallelObj(),
+            new ParallelObj(),
+            new ParallelObj(),
+            new ParallelObj(),
+        });
+
+        var items_processed = items.parallel_iterate(o => o.big_process(), 4);
+        
+        assert_true(items_processed == 8);
+        assert_true(items.all(o => o.processed));
+    });
+
+    // There is a bug here
+    //  Test.add_func("/invercargill/operator/parallel/select_types", () => {
+    //      var items = ate(new Obj1[] { 
+    //          new Obj1() {
+    //              firstname = "Billy",
+    //              lastname = "Barrow"
+    //          },
+    //          new Obj1() {
+    //              firstname = "Dylan",
+    //              lastname = "Erskine"
+    //          }
+    //      });
+
+    //      var result = items.parallel_select<Obj2>(i => new Obj2() { fullname = @"$(i.firstname) $(i.lastname)"}, 2);
+
+    //      foreach (var item in result) {
+    //          print(@"Item != null: $(item != null)\n");
+    //          print(item.fullname);
+    //      }
+        
+    //      assert_true(result.any(p => p.fullname == "Dylan Erskine"));
+    //      assert_true(result.any(p => p.fullname == "Billy Barrow"));
+    //  });
+
 }
 }
 
 
 class ParallelObj {
 class ParallelObj {