Explorar o código

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

ambrop7 %!s(int64=13) %!d(string=hai) anos
pai
achega
ff06a55bf3
Modificáronse 1 ficheiros con 26 adicións e 1 borrados
  1. 26 1
      ncd/tests/process_manager.ncd

+ 26 - 1
ncd/tests/process_manager.ncd

@@ -43,7 +43,7 @@ template phase2 {
     If (backtrack_check) {
         val_equal(x, "10") a;
         assert(a);
-        exit("0");
+        call("phase3", {});
     };
     
     process_manager() mgr;
@@ -68,6 +68,31 @@ template phase2 {
     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 {
     var(_arg0) amount;
     var(_arg1) amount_deinit;