Преглед изворни кода

ncd: tests: process_manager.ncd: add two-argument start() tests

ambrop7 пре 13 година
родитељ
комит
ff06a55bf3
1 измењених фајлова са 26 додато и 1 уклоњено
  1. 26 1
      ncd/tests/process_manager.ncd

+ 26 - 1
ncd/tests/process_manager.ncd

@@ -43,7 +43,7 @@ template phase2 {
     If (backtrack_check) {
     If (backtrack_check) {
         val_equal(x, "10") a;
         val_equal(x, "10") a;
         assert(a);
         assert(a);
-        exit("0");
+        call("phase3", {});
     };
     };
     
     
     process_manager() mgr;
     process_manager() mgr;
@@ -68,6 +68,31 @@ template phase2 {
     point->go();
     point->go();
 }
 }
 
 
+template phase3 {
+    var("0") x;
+    
+    var("false") backtrack_check;
+    backtrack_point() point;
+    If (backtrack_check) {
+        val_equal(x, "10") a;
+        assert(a);
+        exit("0");
+    };
+    
+    process_manager() mgr;
+    
+    mgr->start("increment", {"1", "2", "false"});
+    val_equal(x, "1") a;
+    assert(a);
+    
+    mgr->start("increment", {"3", "4", "false"});
+    val_equal(x, "4") a;
+    assert(a);
+
+    backtrack_check->set("true");
+    point->go();
+}
+
 template increment {
 template increment {
     var(_arg0) amount;
     var(_arg0) amount;
     var(_arg1) amount_deinit;
     var(_arg1) amount_deinit;