|
@@ -2,6 +2,16 @@ import unittest
|
|
|
|
|
|
from utils import run_file
|
|
|
|
|
|
+do_instantiate_simple = [
|
|
|
+ "new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Transition", "t1",
|
|
|
+ "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "instantiate", "Place", "p2", "attr_add", "p2", "tokens", 0,
|
|
|
+ "instantiate", "P2T", "p2t", "p1", "t1", "attr_add", "p2t", "weight", 2,
|
|
|
+ "instantiate", "T2P", "t2p", "t1", "p2", "attr_add", "t2p", "weight", 1]
|
|
|
+
|
|
|
+did_instantiate_simple = new + loaded + prompt_model + instantiate_t1 + prompt_model + instantiate_p1 + prompt_model + instantiate_p2 + prompt_model + instantiate_p2t + prompt_model + instantiate_t2p + prompt_model
|
|
|
+
|
|
|
all_files = [ "pn_interface.alc",
|
|
|
"primitives.alc",
|
|
|
"object_operations.alc",
|
|
@@ -326,7 +336,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_instantiate_place(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5],
|
|
|
+ ["new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model, mode))
|
|
|
|
|
@@ -338,7 +349,9 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_instantiate_place_list(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5, "list"],
|
|
|
+ ["new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "list"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model +
|
|
|
list_model + list_p1, mode))
|
|
@@ -351,7 +364,9 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_instantiate_place_read(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5, "read", "p1"],
|
|
|
+ ["new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "read", "p1"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model + read +
|
|
|
read_p1, mode))
|
|
@@ -364,7 +379,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_instantiate_transition(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1"],
|
|
|
+ ["new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Transition", "t1"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_ok + prompt_model, mode))
|
|
|
|
|
@@ -388,12 +404,9 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_instantiate_arcs(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "p1", "t1", 2, "instantiate", "T2P", "t2p", "t1",
|
|
|
- "p2", 1],
|
|
|
- init + new_full + instantiate_transition + instantiate_place +
|
|
|
- instantiate_place + instantiate_arc + instantiate_arc, mode))
|
|
|
+ do_instantiate_simple,
|
|
|
+ did_instantiate_simple,
|
|
|
+ mode))
|
|
|
|
|
|
def test_po_pn_interface_instantiate_arcs_read(self):
|
|
|
self.pn_interface_instantiate_arcs_read("PO")
|
|
@@ -403,13 +416,13 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_instantiate_arcs_read(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "p1", "t1", 2, "instantiate", "T2P", "t2p", "t1",
|
|
|
- "p2", 1, "read", "p1", "read", "p2", "read", "t1", "read", "p2t",
|
|
|
+ do_instantiate_simple + [
|
|
|
+ "read", "p1",
|
|
|
+ "read", "p2",
|
|
|
+ "read", "t1",
|
|
|
+ "read", "p2t",
|
|
|
"read", "t2p"],
|
|
|
- init + new_full + instantiate_transition + instantiate_place +
|
|
|
- instantiate_place + instantiate_arc + instantiate_arc +
|
|
|
+ did_instantiate_simple +
|
|
|
read_p1_full + read_p2_full + read_t1_full + read_p2t_full +
|
|
|
read_t2p_full, mode))
|
|
|
|
|
@@ -421,12 +434,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_instantiate_arcs_list(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "p1", "t1", 2, "instantiate", "T2P", "t2p", "t1",
|
|
|
- "p2", 1, "list"],
|
|
|
- init + new_full + instantiate_transition + instantiate_place +
|
|
|
- instantiate_place + instantiate_arc + instantiate_arc +
|
|
|
+ do_instantiate_simple + ["list"],
|
|
|
+ did_instantiate_simple +
|
|
|
list_model + list_t1 + list_p1 + list_p2 + list_p2t + list_t2p +
|
|
|
prompt_model, mode))
|
|
|
|
|
@@ -449,12 +458,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_enabled(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "p1", "t1", 2, "instantiate", "T2P", "t2p", "t1",
|
|
|
- "p2", 1, "enabled"],
|
|
|
- init + new_full + instantiate_transition + instantiate_place +
|
|
|
- instantiate_place + instantiate_arc + instantiate_arc + enabled +
|
|
|
+ do_instantiate_simple + ["enabled"],
|
|
|
+ did_instantiate_simple + enabled +
|
|
|
enabled_t1 + prompt_model, mode))
|
|
|
|
|
|
def test_po_pn_interface_fire(self):
|
|
@@ -465,10 +470,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_fire(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "p1", "t1", 2, "instantiate", "T2P", "t2p", "t1",
|
|
|
- "p2", 1, "fire", "t1"],
|
|
|
+ do_instantiate_simple + ["fire", "t1"],
|
|
|
+ did_instantiate_simple + ["fire", "t1"],
|
|
|
init + new_full + instantiate_transition + instantiate_place +
|
|
|
instantiate_place + instantiate_arc + instantiate_arc + fire +
|
|
|
fire_t1 + fire_finish + prompt_model, mode))
|
|
@@ -481,7 +484,9 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_fire_place(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", "5", "fire", "p1"],
|
|
|
+ ["new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "fire", "p1"],
|
|
|
init + new_full + instantiate_place + fire + fire_no_enable +
|
|
|
prompt_model, mode))
|
|
|
|
|
@@ -504,13 +509,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_verify_OK(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "p1", "t1", 2, "instantiate", "T2P", "t2p", "t1",
|
|
|
- "p2", 1, "verify"],
|
|
|
- init + new_full + instantiate_transition + instantiate_place +
|
|
|
- instantiate_place + instantiate_arc + instantiate_arc +
|
|
|
- verify_full, mode))
|
|
|
+ do_instantiate_simple + ["verify"],
|
|
|
+ did_instantiate_simple + verify_full, mode))
|
|
|
|
|
|
def test_po_pn_interface_verify_fail_tokens(self):
|
|
|
self.pn_interface_verify_fail_tokens("PO")
|
|
@@ -520,13 +520,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_verify_fail_tokens(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", -5, "instantiate", "Place", "p2", 0,
|
|
|
- "instantiate", "P2T", "p2t", "p1", "t1", 2, "instantiate", "T2P",
|
|
|
- "t2p", "t1", "p2", 1, "verify"],
|
|
|
- init + new_full + instantiate_transition + instantiate_place +
|
|
|
- instantiate_place + instantiate_arc + instantiate_arc +
|
|
|
- verify_fail_tokens, mode))
|
|
|
+ do_instantiate_simple + ["modify", "p1", "tokens", -5, "verify"],
|
|
|
+ did_instantiate_simple + verify_fail_tokens, mode))
|
|
|
|
|
|
def test_po_pn_interface_verify_fail_weight(self):
|
|
|
self.pn_interface_verify_fail_weight("PO")
|
|
@@ -536,12 +531,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_verify_fail_weight(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "p1", "t1", -2, "instantiate", "T2P", "t2p", "t1",
|
|
|
- "p2", 1, "verify"], init + new_full + instantiate_transition +
|
|
|
- instantiate_place + instantiate_place + instantiate_arc +
|
|
|
- instantiate_arc + verify_fail_weight, mode))
|
|
|
+ do_instantiate_simple + ["modify", "p2t", "weight", -2, "verify"],
|
|
|
+ did_instantiate_simple + verify_fail_weight, mode))
|
|
|
|
|
|
def test_po_pn_interface_verify_fail_structure(self):
|
|
|
self.pn_interface_verify_fail_structure("PO")
|
|
@@ -551,10 +542,11 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_verify_fail_structure(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Transition", "t1", "instantiate",
|
|
|
- "Place", "p1", 5, "instantiate", "Place", "p2", 0, "instantiate",
|
|
|
- "P2T", "p2t", "t1", "p1", 2, "verify"],
|
|
|
- init + new_full + instantiate_transition + instantiate_place +
|
|
|
+ ["new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Transition", "t1",
|
|
|
+ "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "instantiate", "P2T", "p2t", "t1", "p1", "attr_add", "p2t", "weight", 2, "verify"],
|
|
|
+ init + new_full + instantiate_transition +
|
|
|
instantiate_place + instantiate_arc + verify_fail_structure,
|
|
|
mode))
|
|
|
|
|
@@ -576,8 +568,10 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_modify_place(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5, "read", "p1",
|
|
|
- "modify", "p1", "tokens", 1, "read", "p1"],
|
|
|
+ ["new", "PetriNets", "abc",
|
|
|
+ "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "read", "p1",
|
|
|
+ "modify", "p1", "tokens", 1, "read", "p1"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model + read +
|
|
|
read_p1 + prompt_menu + modify_place_full + read + read_p1_1 +
|
|
@@ -603,8 +597,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_modify_place_attr(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5, "read", "p1",
|
|
|
- "modify", "p1", "tok", "read", "p1"],
|
|
|
+ ["new", "PetriNets", "abc", "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "read", "p1", "modify", "p1", "tok", "read", "p1"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model + read +
|
|
|
read_p1 + prompt_menu + modify + modify_place + modify_attribute +
|
|
@@ -619,8 +613,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_rename_place(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5, "rename", "p1",
|
|
|
- "p2", "read", "p1", "read", "p2"],
|
|
|
+ ["new", "PetriNets", "abc", "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5,
|
|
|
+ "rename", "p1", "p2", "read", "p1", "read", "p2"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model +
|
|
|
rename_model_full + read + read_fail + prompt_model +
|
|
@@ -634,8 +628,8 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_rename_exists(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5, "instantiate",
|
|
|
- "Place", "p2", 0, "rename", "p1", "p2", "read", "p1", "read",
|
|
|
+ ["new", "PetriNets", "abc", "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5, "instantiate",
|
|
|
+ "Place", "p2", "attr_add", "p2", "tokens", 0, "rename", "p1", "p2", "read", "p1", "read",
|
|
|
"p2"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model +
|
|
@@ -653,10 +647,9 @@ class TestPetrinetInterface(unittest.TestCase):
|
|
|
|
|
|
def pn_interface_rename_not_exists(self, mode):
|
|
|
self.assertTrue(run_file(all_files,
|
|
|
- ["new", "PetriNets", "abc", "instantiate", "Place", "p1", 5, "rename", "p2",
|
|
|
+ ["new", "PetriNets", "abc", "instantiate", "Place", "p1", "attr_add", "p1", "tokens", 5, "rename", "p2",
|
|
|
"read", "p1", "read", "p2"],
|
|
|
init + new_full + instantiate + instantiate_name +
|
|
|
instantiate_tokens + instantiate_ok + prompt_model +
|
|
|
rename_model_old + rename_model_fail_not_exists + prompt_model +
|
|
|
read_p1_full + read + read_fail + prompt_model, mode))
|
|
|
-
|