فهرست منبع

Split of the powerwindow case as a separate test

Yentl Van Tendeloo 8 سال پیش
والد
کامیت
fba3b401f2
2فایلهای تغییر یافته به همراه260 افزوده شده و 322 حذف شده
  1. 0 322
      integration/test_mvc.py
  2. 260 0
      integration/test_powerwindow.py

+ 0 - 322
integration/test_mvc.py

@@ -1781,104 +1781,6 @@ class TestModelverseCore(unittest.TestCase):
                 "Transformation executed with result: True",
                 "Ready for command...",
             ]))
-    """
-    def test_powerwindow(self):
-        self.assertTrue(run_file(all_files,
-            [ "root", "root", "root", 
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "Control_PW",
-                    ] + get_model_constructor(open("models/control_PW.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "Environment_PW",
-                    ] + get_model_constructor(open("models/environment_PW.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "Description_PW",
-                    ] + get_model_constructor(open("models/description_PW.mvc", "r").read()) + [
-                "model_add",
-                    "Control_PW",
-                    "control_model",
-                    ] + get_model_constructor(open("models/control_model.mvc", "r").read()) + [
-                "model_add",
-                    "Environment_PW",
-                    "environment_model",
-                    ] + get_model_constructor(open("models/environment_model.mvc", "r").read()) + [
-                "model_add",
-                    "Description_PW",
-                    "description_model",
-                    ] + get_model_constructor(open("models/description_model.mvc", "r").read()) + [
-                "model_list",
-                "verify",
-                "Control_PW"
-            ],
-            [   # bootup phase
-                "Desired username for admin user?",
-                "Desired password for admin user?",
-                "Please repeat the password",
-                "Passwords match!",
-                "Welcome to the Model Management Interface v2.0!",
-                "Use the 'help' command for a list of possible commands",
-                "Ready for command...",
-                # model_add
-                "Creating new model!",
-                "Model type?",
-                "Model name?",
-                "Waiting for model constructors...",
-                "Model upload success!",
-                "Ready for command...",
-                # model_add
-                "Creating new model!",
-                "Model type?",
-                "Model name?",
-                "Waiting for model constructors...",
-                "Model upload success!",
-                "Ready for command...",
-                # model_add
-                "Creating new model!",
-                "Model type?",
-                "Model name?",
-                "Waiting for model constructors...",
-                "Model upload success!",
-                "Ready for command...",
-                # model_add
-                "Creating new model!",
-                "Model type?",
-                "Model name?",
-                "Waiting for model constructors...",
-                "Model upload success!",
-                "Ready for command...",
-                # model_add
-                "Creating new model!",
-                "Model type?",
-                "Model name?",
-                "Waiting for model constructors...",
-                "Model upload success!",
-                "Ready for command...",
-                # model_add
-                "Creating new model!",
-                "Model type?",
-                "Model name?",
-                "Waiting for model constructors...",
-                "Model upload success!",
-                "Ready for command...",
-                # model_list
-                model_list |
-                set([
-                     "  Control_PW : SimpleClassDiagrams",
-                     "  Environment_PW : SimpleClassDiagrams",
-                     "  Description_PW : SimpleClassDiagrams",
-                     "  control_model : Control_PW",
-                     "  environment_model : Environment_PW",
-                     "  description_model : Description_PW",]),
-                "Ready for command...",
-                # verify
-                "Which model to verify?",
-                "OK",
-                "Ready for command...",
-            ]))
-    """
 
     def test_process_model_trivial_pn(self):
         self.assertTrue(run_file(all_files,
@@ -2131,227 +2033,3 @@ class TestModelverseCore(unittest.TestCase):
                      ]),
                 "Ready for command...",
             ]))
-
-    def test_process_powerwindow(self):
-        self.assertTrue(run_file(all_files,
-            [ "root", "root", "root", 
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "ReachabilityGraph",
-                    ] + get_model_constructor(open("integration/code/reachability_graph.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "PetriNet",
-                    ] + get_model_constructor(open("integration/code/pn_design.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "Encapsulated_PetriNet",
-                    ] + get_model_constructor(open("models/petrinet_ports.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "PW_Plant",
-                    ] + get_model_constructor(open("models/plant_PW.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "PW_Environment",
-                    ] + get_model_constructor(open("models/environment_PW.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "PW_Control",
-                    ] + get_model_constructor(open("models/control_PW.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "Requirements",
-                    ] + get_model_constructor(open("models/requirements.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "Query",
-                    ] + get_model_constructor(open("models/query.mvc", "r").read()) + [
-                "model_add",
-                    "SimpleClassDiagrams",
-                    "Network",
-                    ] + get_model_constructor(open("models/network.mvc", "r").read()) + [
-                "model_add",
-                    "ProcessModel",
-                    "pm_powerwindow",
-                    ] + get_model_constructor(open("models/pm_req_analyse.mvc", "r").read()) + [
-                "model_list",
-                "transformation_add_MT_language",
-                "PetriNet",
-                "Encapsulated_PetriNet",
-                "PW_Plant",
-                "PW_Control",
-                "PW_Environment",
-                "Requirements",
-                "ReachabilityGraph",
-                "Network",
-                "Query",
-                "",
-                "All_RAM",
-                "transformation_add_MANUAL",
-                    "PW_Plant",
-                    "",
-                    "PW_Plant",
-                    "",
-                    "refine_Plant",
-                "transformation_add_MT",
-                    "All_RAM",
-                    "",
-                    "PW_Plant",
-                    "PW_Environment",
-                    "PW_Control",
-                    "Network",
-                    "Query",
-                    "",
-                    "make_initial_models",
-                    ] + get_model_constructor(open("models/initialize.mvc", "r").read()) + [
-                "transformation_add_MT",
-                    "All_RAM",
-                    "PW_Plant",
-                    "",
-                    "Encapsulated_PetriNet",
-                    "",
-                    "Plant2EPN",
-                    ] + get_model_constructor(open("models/plant_to_EPN.mvc", "r").read()) + [
-                "transformation_add_AL",
-                    "PetriNet",
-                    "",
-                    "ReachabilityGraph",
-                    "",
-                    "reachability_analyse",
-                    ] + get_constructor(open("integration/code/reachability.alc", "r").read()) + [
-                "transformation_add_AL",
-                    "PW_Environment",
-                    "",
-                    "Encapsulated_PetriNet",
-                    "",
-                    "environment_to_EPN",
-                    ] + get_constructor(open("models/environment_to_EPN.alc", "r").read()) + [
-                "model_list",
-            ],
-            [   # bootup phase
-                "Desired username for admin user?",
-                "Desired password for admin user?",
-                "Please repeat the password",
-                "Passwords match!",
-                "Welcome to the Model Management Interface v2.0!",
-                "Use the 'help' command for a list of possible commands",
-                "Ready for command...",
-                # model_add * 10
-                ] + [   "Creating new model!",
-                        "Model type?",
-                        "Model name?",
-                        "Waiting for model constructors...",
-                        "Model upload success!",
-                        "Ready for command...", ] * 10 + [
-                # model_list
-                model_list |
-                set([
-                     "  ReachabilityGraph : SimpleClassDiagrams",
-                     "  PetriNet : SimpleClassDiagrams",
-                     "  Encapsulated_PetriNet : SimpleClassDiagrams",
-                     "  PW_Plant : SimpleClassDiagrams",
-                     "  PW_Environment : SimpleClassDiagrams",
-                     "  PW_Control : SimpleClassDiagrams",
-                     "  Requirements : SimpleClassDiagrams",
-                     "  Query : SimpleClassDiagrams",
-                     "  Network : SimpleClassDiagrams",
-                     "  pm_powerwindow : ProcessModel",
-                     ]),
-                "Ready for command...",
-                # transformation_add_MT_language
-                "Formalisms to include (terminate with empty string)?",
-                "Name of the RAMified transformation metamodel?",
-                "Ready for command...",
-                # transformation_add_MANUAL
-                "Which metamodels do you want to use as source for the manual operation (empty string to finish)?",
-                "Model added as source",
-                "Which metamodels do you want to use as target for the manual operation (empty string to finish)?",
-                "Model added as target",
-                "Name of Manual operation model?",
-                "Ready for command...",
-                # transformation_add_MT
-                "RAMified metamodel to use?",
-                "Supported metamodels:",
-                set(["  PetriNet",
-                     "  Encapsulated_PetriNet",
-                     "  PW_Plant",
-                     "  Network",
-                     "  Query",
-                     "  PW_Environment",
-                     "  Requirements",
-                     "  PW_Control",
-                     "  ReachabilityGraph",
-                    ]),
-                "",
-                "Which ones do you want to use as source (empty string to finish)?",
-                "Which ones do you want to use as target (empty string to finish)?",
-                "Model added as target",
-                "Model added as target",
-                "Model added as target",
-                "Model added as target",
-                "Model added as target",
-                "Name of new transformation?",
-                "Waiting for model constructors...",
-                "Ready for command...",
-                # transformation_add_MT
-                "RAMified metamodel to use?",
-                "Supported metamodels:",
-                set(["  PetriNet",
-                     "  Encapsulated_PetriNet",
-                     "  Network",
-                     "  Query",
-                     "  PW_Plant",
-                     "  PW_Environment",
-                     "  Requirements",
-                     "  PW_Control",
-                     "  ReachabilityGraph",
-                    ]),
-                "",
-                "Which ones do you want to use as source (empty string to finish)?",
-                "Model added as source",
-                "Which ones do you want to use as target (empty string to finish)?",
-                "Model added as target",
-                "Name of new transformation?",
-                "Waiting for model constructors...",
-                "Ready for command...",
-                # transformation_add_AL
-                "Which metamodels do you want to use as source for the action code (empty string to finish)?",
-                "Model added as source",
-                "Which metamodels do you want to use as target for the action code (empty string to finish)?",
-                "Model added as target",
-                "Name of Action Language model?",
-                "Waiting for model constructors...",
-                "Ready for command...",
-                # transformation_add_AL
-                "Which metamodels do you want to use as source for the action code (empty string to finish)?",
-                "Model added as source",
-                "Which metamodels do you want to use as target for the action code (empty string to finish)?",
-                "Model added as target",
-                "Name of Action Language model?",
-                "Waiting for model constructors...",
-                "Ready for command...",
-                # model_list
-                model_list |
-                set([
-                     "  PetriNet : SimpleClassDiagrams",
-                     "  Encapsulated_PetriNet : SimpleClassDiagrams",
-                     "  PW_Plant : SimpleClassDiagrams",
-                     "  PW_Environment : SimpleClassDiagrams",
-                     "  PW_Control : SimpleClassDiagrams",
-                     "  Requirements : SimpleClassDiagrams",
-                     "  Network : SimpleClassDiagrams",
-                     "  Query : SimpleClassDiagrams",
-                     "  reachability_analyse : ActionLanguage",
-                     "  Plant2EPN : All_RAM",
-                     "  refine_Plant : ManualOperation",
-                     "  __merged_All_RAM : SimpleClassDiagrams",
-                     "  __merged_refine_Plant : SimpleClassDiagrams",
-                     "  All_RAM : SimpleClassDiagrams",
-                     "  make_initial_models : All_RAM",
-                     "  pm_powerwindow : ProcessModel",
-                     "  environment_to_EPN : ActionLanguage",
-                     "  ReachabilityGraph : SimpleClassDiagrams",
-                     ]),
-                "Ready for command...",
-            ]))

+ 260 - 0
integration/test_powerwindow.py

@@ -0,0 +1,260 @@
+import unittest
+
+from utils import *
+
+model_list = set(["  SimpleClassDiagrams : SimpleClassDiagrams",
+                  "  CoreFormalism : SimpleClassDiagrams",
+                  "  ManualOperation : SimpleClassDiagrams",
+                  "  ActionLanguage : SimpleClassDiagrams",
+                  "  ProcessModel : SimpleClassDiagrams",
+                  "  core : CoreFormalism"])
+
+model_full_list = set(["  221  root admin   SimpleClassDiagrams : SimpleClassDiagrams",
+                       "  221  root admin   CoreFormalism : SimpleClassDiagrams",
+                       "  221  root admin   ActionLanguage : SimpleClassDiagrams",
+                       "  221  root admin   ManualOperation : SimpleClassDiagrams",
+                       "  221  root admin   ProcessModel : SimpleClassDiagrams",
+                       "  200  root admin   core : CoreFormalism"])
+
+all_files = [   "core/mini_modify.alc",
+                "core/core_formalism.mvc",
+                "core/core_algorithm.alc",
+                "core/pm.mvc",
+                "primitives.alc",
+                "object_operations.alc",
+                "conformance_scd.alc",
+                "library.alc",
+                "transform.alc",
+                "model_management.alc",
+                "ramify.alc",
+                "metamodels.alc",
+                "random.alc",
+                "constructors.alc",
+                "modelling.alc",
+                "compilation_manager.alc",
+            ]
+
+class TestPowerWindow(unittest.TestCase):
+    def test_process_powerwindow(self):
+        self.assertTrue(run_file(all_files,
+            [ "root", "root", "root", 
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "ReachabilityGraph",
+                    ] + get_model_constructor(open("integration/code/reachability_graph.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "PetriNet",
+                    ] + get_model_constructor(open("integration/code/pn_design.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "Encapsulated_PetriNet",
+                    ] + get_model_constructor(open("models/petrinet_ports.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "PW_Plant",
+                    ] + get_model_constructor(open("models/plant_PW.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "PW_Environment",
+                    ] + get_model_constructor(open("models/environment_PW.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "PW_Control",
+                    ] + get_model_constructor(open("models/control_PW.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "Requirements",
+                    ] + get_model_constructor(open("models/requirements.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "Query",
+                    ] + get_model_constructor(open("models/query.mvc", "r").read()) + [
+                "model_add",
+                    "SimpleClassDiagrams",
+                    "Network",
+                    ] + get_model_constructor(open("models/network.mvc", "r").read()) + [
+                "model_add",
+                    "ProcessModel",
+                    "pm_powerwindow",
+                    ] + get_model_constructor(open("models/pm_req_analyse.mvc", "r").read()) + [
+                "model_list",
+                "transformation_add_MT_language",
+                "PetriNet",
+                "Encapsulated_PetriNet",
+                "PW_Plant",
+                "PW_Control",
+                "PW_Environment",
+                "Requirements",
+                "ReachabilityGraph",
+                "Network",
+                "Query",
+                "",
+                "All_RAM",
+                "transformation_add_MANUAL",
+                    "PW_Plant",
+                    "",
+                    "PW_Plant",
+                    "",
+                    "refine_Plant",
+                "transformation_add_MT",
+                    "All_RAM",
+                    "",
+                    "PW_Plant",
+                    "PW_Environment",
+                    "PW_Control",
+                    "Network",
+                    "Query",
+                    "",
+                    "make_initial_models",
+                    ] + get_model_constructor(open("models/initialize.mvc", "r").read()) + [
+                "transformation_add_MT",
+                    "All_RAM",
+                    "PW_Plant",
+                    "",
+                    "Encapsulated_PetriNet",
+                    "",
+                    "Plant2EPN",
+                    ] + get_model_constructor(open("models/plant_to_EPN.mvc", "r").read()) + [
+                "transformation_add_AL",
+                    "PetriNet",
+                    "",
+                    "ReachabilityGraph",
+                    "",
+                    "reachability_analyse",
+                    ] + get_constructor(open("integration/code/reachability.alc", "r").read()) + [
+                "transformation_add_AL",
+                    "PW_Environment",
+                    "",
+                    "Encapsulated_PetriNet",
+                    "",
+                    "environment_to_EPN",
+                    ] + get_constructor(open("models/environment_to_EPN.alc", "r").read()) + [
+                "model_list",
+            ],
+            [   # bootup phase
+                "Desired username for admin user?",
+                "Desired password for admin user?",
+                "Please repeat the password",
+                "Passwords match!",
+                "Welcome to the Model Management Interface v2.0!",
+                "Use the 'help' command for a list of possible commands",
+                "Ready for command...",
+                # model_add * 10
+                ] + [   "Creating new model!",
+                        "Model type?",
+                        "Model name?",
+                        "Waiting for model constructors...",
+                        "Model upload success!",
+                        "Ready for command...", ] * 10 + [
+                # model_list
+                model_list |
+                set([
+                     "  ReachabilityGraph : SimpleClassDiagrams",
+                     "  PetriNet : SimpleClassDiagrams",
+                     "  Encapsulated_PetriNet : SimpleClassDiagrams",
+                     "  PW_Plant : SimpleClassDiagrams",
+                     "  PW_Environment : SimpleClassDiagrams",
+                     "  PW_Control : SimpleClassDiagrams",
+                     "  Requirements : SimpleClassDiagrams",
+                     "  Query : SimpleClassDiagrams",
+                     "  Network : SimpleClassDiagrams",
+                     "  pm_powerwindow : ProcessModel",
+                     ]),
+                "Ready for command...",
+                # transformation_add_MT_language
+                "Formalisms to include (terminate with empty string)?",
+                "Name of the RAMified transformation metamodel?",
+                "Ready for command...",
+                # transformation_add_MANUAL
+                "Which metamodels do you want to use as source for the manual operation (empty string to finish)?",
+                "Model added as source",
+                "Which metamodels do you want to use as target for the manual operation (empty string to finish)?",
+                "Model added as target",
+                "Name of Manual operation model?",
+                "Ready for command...",
+                # transformation_add_MT
+                "RAMified metamodel to use?",
+                "Supported metamodels:",
+                set(["  PetriNet",
+                     "  Encapsulated_PetriNet",
+                     "  PW_Plant",
+                     "  Network",
+                     "  Query",
+                     "  PW_Environment",
+                     "  Requirements",
+                     "  PW_Control",
+                     "  ReachabilityGraph",
+                    ]),
+                "",
+                "Which ones do you want to use as source (empty string to finish)?",
+                "Which ones do you want to use as target (empty string to finish)?",
+                "Model added as target",
+                "Model added as target",
+                "Model added as target",
+                "Model added as target",
+                "Model added as target",
+                "Name of new transformation?",
+                "Waiting for model constructors...",
+                "Ready for command...",
+                # transformation_add_MT
+                "RAMified metamodel to use?",
+                "Supported metamodels:",
+                set(["  PetriNet",
+                     "  Encapsulated_PetriNet",
+                     "  Network",
+                     "  Query",
+                     "  PW_Plant",
+                     "  PW_Environment",
+                     "  Requirements",
+                     "  PW_Control",
+                     "  ReachabilityGraph",
+                    ]),
+                "",
+                "Which ones do you want to use as source (empty string to finish)?",
+                "Model added as source",
+                "Which ones do you want to use as target (empty string to finish)?",
+                "Model added as target",
+                "Name of new transformation?",
+                "Waiting for model constructors...",
+                "Ready for command...",
+                # transformation_add_AL
+                "Which metamodels do you want to use as source for the action code (empty string to finish)?",
+                "Model added as source",
+                "Which metamodels do you want to use as target for the action code (empty string to finish)?",
+                "Model added as target",
+                "Name of Action Language model?",
+                "Waiting for model constructors...",
+                "Ready for command...",
+                # transformation_add_AL
+                "Which metamodels do you want to use as source for the action code (empty string to finish)?",
+                "Model added as source",
+                "Which metamodels do you want to use as target for the action code (empty string to finish)?",
+                "Model added as target",
+                "Name of Action Language model?",
+                "Waiting for model constructors...",
+                "Ready for command...",
+                # model_list
+                model_list |
+                set([
+                     "  PetriNet : SimpleClassDiagrams",
+                     "  Encapsulated_PetriNet : SimpleClassDiagrams",
+                     "  PW_Plant : SimpleClassDiagrams",
+                     "  PW_Environment : SimpleClassDiagrams",
+                     "  PW_Control : SimpleClassDiagrams",
+                     "  Requirements : SimpleClassDiagrams",
+                     "  Network : SimpleClassDiagrams",
+                     "  Query : SimpleClassDiagrams",
+                     "  reachability_analyse : ActionLanguage",
+                     "  Plant2EPN : All_RAM",
+                     "  refine_Plant : ManualOperation",
+                     "  __merged_All_RAM : SimpleClassDiagrams",
+                     "  __merged_refine_Plant : SimpleClassDiagrams",
+                     "  All_RAM : SimpleClassDiagrams",
+                     "  make_initial_models : All_RAM",
+                     "  pm_powerwindow : ProcessModel",
+                     "  environment_to_EPN : ActionLanguage",
+                     "  ReachabilityGraph : SimpleClassDiagrams",
+                     ]),
+                "Ready for command...",
+            ]))