Exemple #1
0
 def setUp(self):
     # import the generated Code
     import TurnstileHandler_generated
     import TurnstileStepper_generated
     self.stepper = TurnstileStepper_generated.Stepper()
     self.input = json.load(open("../sample_input.json"))
     self.fsm = parseFSM("../sample.fsml")
Exemple #2
0
    def testOneFile(self):
        self.shortDescription()
        fsm = parseFSM(self.fsmlFile)
        with open(self.inputFile) as inputFile, open(
                self.correctOutputFile) as outFile:
            correctInputJson = json.load(inputFile)

            # (1) this is the correct output which is created together with the input
            correctJsonOutput = json.load(outFile)

            # (2) this is the output of the Simulator.py module of assignment 2
            simulatedJsonOutput = simulateFSM(fsm, list(correctInputJson))

            # (3) what follows is the output of the dynamically generated TurnstileStepper modules
            generateCode(fsm)  # generate Stepper and Handler
            import TurnstileHandler_generated  # import the newly generated modules (& update their reference)
            reload(TurnstileHandler_generated)
            import TurnstileStepper_generated
            reload(TurnstileStepper_generated)
            stepper = TurnstileStepper_generated.Stepper()
            generatedJsonOutput = stepper.simulateFSM_generated(
                list(correctInputJson))
            try:
                os.remove('./TurnstileStepper_generated.pyc')
                os.remove('./TurnstileHandler_generated.pyc')
            except OSError:
                pass

            # assert all 3 are equal
            self.assertEqual(correctJsonOutput, simulatedJsonOutput)
            self.assertEqual(correctJsonOutput, generatedJsonOutput)
Exemple #3
0
    def testOneFile(self):
        self.shortDescription()
        fsm = parseFSM(self.fsmlFile)
        with open(self.inputFile) as inputFile, open(self.correctOutputFile) as outFile:
            correctInputJson = json.load(inputFile)

            # (1) this is the correct output which is created together with the input
            correctJsonOutput = json.load(outFile)

            # (2) this is the output of the Simulator.py module of assignment 2
            simulatedJsonOutput = simulateFSM(fsm, list(correctInputJson))

             # (3) what follows is the output of the dynamically generated TurnstileStepper modules
            generateCode(fsm)  # generate Stepper and Handler
            import TurnstileHandler_generated  # import the newly generated modules (& update their reference)
            reload(TurnstileHandler_generated)
            import TurnstileStepper_generated
            reload(TurnstileStepper_generated)
            stepper = TurnstileStepper_generated.Stepper()
            generatedJsonOutput = stepper.simulateFSM_generated(list(correctInputJson))
            try:
                os.remove('./TurnstileStepper_generated.pyc')
                os.remove('./TurnstileHandler_generated.pyc')
            except OSError:
                pass

            # assert all 3 are equal
            self.assertEqual(correctJsonOutput, simulatedJsonOutput)
            self.assertEqual(correctJsonOutput, generatedJsonOutput)
Exemple #4
0
 def testOneFile(self):
     fsm = parseFSM(self.fsmlFile)
     self.assertRaises(SingleInitialException, ok, fsm)
Exemple #5
0
 def testOneFile(self):
     fsm = parseFSM(self.fsmlFile)
     with open(self.inputFile) as inputFile:
         self.assertRaises(IllegalSymbolException, simulateFSM, fsm, json.load(inputFile))
Exemple #6
0
 def testOneFile(self):
     fsm = parseFSM(self.fsmlFile)
     self.assertRaises(ResolvableException, ok, fsm)
Exemple #7
0
 def testOneFile(self):
     fsm = parseFSM(self.fsmlFile)
     self.assertRaises(DistinctIdsException, ok, fsm)
Exemple #8
0
 def testOneFile(self):
     fsm = parseFSM(self.fsmlFile)
     self.assertRaises(DeterministicException, ok, fsm)
Exemple #9
0
    def setUp(self):
        self.parserErrorFsm = "./parserError.fsml"

        self.correctFsm = parseFSM("../sample.fsml")
        self.illegalSymbolInput = json.load(open("illegalSymbol_input.json"))
        self.infeasibleSymbolInput = json.load(open("infeasibleSymbol_input.json"))
Exemple #10
0
 def setUp(self):
     self.determinismNotOkFsm = parseFSM("./determinismNotOk.fsml")
     self.idsNotOkFsm = parseFSM("./idsNotOk.fsml")
     self.initialNotOkFsm = parseFSM("./initialNotOk.fsml")
     self.reachabilityNotOkFsm = parseFSM("./reachabilityNotOk.fsml")
     self.resolutionNotOkFsm = parseFSM("./resolutionNotOk.fsml")
Exemple #11
0
 def testOneFile(self):
     fsm = parseFSM(self.fsmlFile)
     self.assertTrue(ok(fsm))
Exemple #12
0
    def setUp(self):
        self.parserErrorFsm = "./parserError.fsml"

        self.correctFsm = parseFSM("../sample.fsml")
        self.illegalSymbolInput = json.load(open("illegalSymbol_input.json"))
        self.infeasibleSymbolInput = json.load(open("infeasibleSymbol_input.json"))
Exemple #13
0
 def setUp(self):
     self.determinismNotOkFsm = parseFSM("./determinismNotOk.fsml")
     self.idsNotOkFsm = parseFSM("./idsNotOk.fsml")
     self.initialNotOkFsm = parseFSM("./initialNotOk.fsml")
     self.reachabilityNotOkFsm = parseFSM("./reachabilityNotOk.fsml")
     self.resolutionNotOkFsm = parseFSM("./resolutionNotOk.fsml")
Exemple #14
0
 def testOneFile(self):
     fsm = parseFSM(self.fsmlFile)
     self.assertTrue(ok(fsm))