def testUseCaseWithoutCycles(self):
        useCase0 = createUseCase("useCase0", 5, [[0, 3, 3], [0, 3, 4]], [[1, 4]])
        result0 = self.algorithm.execute(useCase0)
        self.assertEquals(len(result0), 4)
        pathLengthList = [len(path) for path in result0.tests]
        self.assertIn(5, pathLengthList)
        self.assertIn(7, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertEquals(pathLengthList.count(5), 1)
        self.assertEquals(pathLengthList.count(7), 1)
        self.assertEquals(pathLengthList.count(6), 2)

        useCase1 = createUseCase("useCase1", 8, [[2, 4, 3]], [[0, 4], [1, 4], [2, 3]])
        result1 = self.algorithm.execute(useCase1)

        self.assertEquals(len(result1), 5)
        pathLengthList = [len(path) for path in result1.tests]
        self.assertIn(5, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertIn(8, pathLengthList)
        self.assertIn(10, pathLengthList)
        self.assertEquals(pathLengthList.count(5), 1)
        self.assertEquals(pathLengthList.count(6), 2)
        self.assertEquals(pathLengthList.count(8), 1)
        self.assertEquals(pathLengthList.count(10), 1)

        useCase2 = createUseCase("useCase2", 2, [[0, 1, 2]], [[0, 4]])
        result2 = self.algorithm.execute(useCase2)

        for t in result2.tests:
            print t.path
    def testUseCaseWithoutCycles(self):
        useCase0 = createUseCase("useCase0", 5, [[0, 3, 3], [0, 3, 4]],
                                 [[1, 4]])
        result0 = self.algorithm.execute(useCase0)
        self.assertEquals(len(result0), 4)
        pathLengthList = [len(path) for path in result0.tests]
        self.assertIn(5, pathLengthList)
        self.assertIn(7, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertEquals(pathLengthList.count(5), 1)
        self.assertEquals(pathLengthList.count(7), 1)
        self.assertEquals(pathLengthList.count(6), 2)

        useCase1 = createUseCase("useCase1", 8, [[2, 4, 3]],
                                 [[0, 4], [1, 4], [2, 3]])
        result1 = self.algorithm.execute(useCase1)

        self.assertEquals(len(result1), 5)
        pathLengthList = [len(path) for path in result1.tests]
        self.assertIn(5, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertIn(8, pathLengthList)
        self.assertIn(10, pathLengthList)
        self.assertEquals(pathLengthList.count(5), 1)
        self.assertEquals(pathLengthList.count(6), 2)
        self.assertEquals(pathLengthList.count(8), 1)
        self.assertEquals(pathLengthList.count(10), 1)

        useCase2 = createUseCase("useCase2", 2, [[0, 1, 2]], [[0, 4]])
        result2 = self.algorithm.execute(useCase2)

        for t in result2.tests:
            print t.path
    def testUseCaseWithCycles(self):
        useCase0 = createUseCase(usecaseTitle="useCase0", mainScenario=3, alternationEventGoTo=[[0, 0, 3]])
        result0 = self.algorithm.execute(useCase0)
        self.assertEquals(len(result0), 2)
        pathLengthList = [len(path) for path in result0.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)

        useCase1 = createUseCase(usecaseTitle="useCase1", mainScenario=3, alternationEventGoTo=[[0, 0, 3], [0, 0, 2]])
        result1 = self.algorithm.execute(useCase1)
        self.assertEquals(len(result1), 5)
        pathLengthList = [len(path) for path in result1.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertIn(10, pathLengthList)
        self.assertEquals(pathLengthList.count(3), 1)
        self.assertEquals(pathLengthList.count(7), 1)
        self.assertEquals(pathLengthList.count(6), 1)
        self.assertEquals(pathLengthList.count(10), 2)

        useCase2 = createUseCase(usecaseTitle="useCase2", mainScenario=4, alternationEventGoTo=[[2, 0, 2], [1, 1, 3]])
        result2 = self.algorithm.execute(useCase2)
        self.assertEquals(len(result2), 5)
        pathLengthList = [len(path) for path in result2.tests]
        self.assertIn(4, pathLengthList)
        self.assertIn(9, pathLengthList)
        self.assertIn(13, pathLengthList)
        self.assertIn(8, pathLengthList)
        self.assertEquals(pathLengthList.count(4), 1)
        self.assertEquals(pathLengthList.count(9), 1)
        self.assertEquals(pathLengthList.count(13), 2)
        self.assertEquals(pathLengthList.count(8), 1)

        useCase3 = createUseCase(usecaseTitle="useCase3", mainScenario=3, alternationEventGoTo=[[1, 0, 2]])
        result3 = self.algorithm.execute(useCase3)
        self.assertEquals(len(result3), 2)
        pathLengthList = [len(path) for path in result3.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)

        useCase4 = createUseCase(
            usecaseTitle="useCase4",
            mainScenario=3,
            alternationEventGoTo=[[1, 0, 2], [1, 1, 2]],
            alternationEventEnd=[[0, 2]],
        )
        result4 = self.algorithm.execute(useCase4)
        self.assertEquals(len(result4), 8)
        pathLengthList = [len(path) for path in result4.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertIn(10, pathLengthList)
        self.assertEquals(pathLengthList.count(3), 2)
        self.assertEquals(pathLengthList.count(7), 2)
        self.assertEquals(pathLengthList.count(6), 1)
        self.assertEquals(pathLengthList.count(10), 3)
Exemple #4
0
    def testUseCase(self):
        useCase = createUseCase("Title", 5)

        self.assertEquals(len(useCase.scenario.items), 5,
                          "Main scenario length")
        for step in useCase.scenario.items:
            self.assertEqual(step.events, [], "No events in step")
        self.assertIsInstance(useCase.scenario.items[4].items[0], EoUCCommand)
    def testRealWorldExamples(self):
        useCase0 = createUseCase(usecaseTitle="useCase0", mainScenario=4)
        result0 = self.algorithm.execute(useCase0)
        self.assertEquals(len(result0), 1)
        pathLengthList = [len(path) for path in result0.tests]
        self.assertIn(4, pathLengthList)

        useCase1 = createUseCase(usecaseTitle="useCase1", mainScenario=6, alternationEventGoTo=[[4, 2, 2]])
        result1 = self.algorithm.execute(useCase1)
        self.assertEquals(len(result1), 2)
        pathLengthList = [len(path) for path in result1.tests]
        self.assertIn(6, pathLengthList)
        self.assertIn(11, pathLengthList)

        useCase2 = createUseCase(usecaseTitle="useCase2", mainScenario=6, alternationEventGoTo=[[3, 1, 2]])
        result2 = self.algorithm.execute(useCase2)
        self.assertEquals(len(result2), 2)
        pathLengthList = [len(path) for path in result2.tests]
        self.assertIn(6, pathLengthList)
        self.assertIn(11, pathLengthList)
    def testRealWorldExamples(self):
        useCase0 = createUseCase(usecaseTitle="useCase0", mainScenario=4)
        result0 = self.algorithm.execute(useCase0)
        self.assertEquals(len(result0), 1)
        pathLengthList = [len(path) for path in result0.tests]
        self.assertIn(4, pathLengthList)

        useCase1 = createUseCase(usecaseTitle="useCase1",
                                 mainScenario=6,
                                 alternationEventGoTo=[[4, 2, 2]])
        result1 = self.algorithm.execute(useCase1)
        self.assertEquals(len(result1), 2)
        pathLengthList = [len(path) for path in result1.tests]
        self.assertIn(6, pathLengthList)
        self.assertIn(11, pathLengthList)

        useCase2 = createUseCase(usecaseTitle="useCase2",
                                 mainScenario=6,
                                 alternationEventGoTo=[[3, 1, 2]])
        result2 = self.algorithm.execute(useCase2)
        self.assertEquals(len(result2), 2)
        pathLengthList = [len(path) for path in result2.tests]
        self.assertIn(6, pathLengthList)
        self.assertIn(11, pathLengthList)
Exemple #7
0
    def testUseCaseWithAlternationGoToEvent(self):
        useCase = createUseCase("Title", 5, [[0, 3, 3], [0, 3, 4]])

        self.assertEquals(len(useCase.scenario.items), 5)
        self.assertEquals(len(useCase.scenario.items[0].events), 2)
        self.assertEquals(len(useCase.scenario.items[1].events), 0)
        self.assertEquals(len(useCase.scenario.items[2].events), 0)
        self.assertEquals(len(useCase.scenario.items[3].events), 0)
        self.assertEquals(len(useCase.scenario.items[4].events), 0)
        self.assertIsInstance(useCase.scenario.items[0].events[0], Event)
        self.assertIsInstance(useCase.scenario.items[0].events[1], Event)

        event0Steps = useCase.scenario.items[0].events[0].scenario.items
        event1Steps = useCase.scenario.items[0].events[1].scenario.items

        self.assertIsInstance(event0Steps[2].items[0], GoToCommand)
        self.assertIsInstance(event1Steps[3].items[0], GoToCommand)
Exemple #8
0
    def testUseCaseWithAlternationEndEvent(self):
        useCase = createUseCase(usecaseTitle="Title",
                                mainScenario=5,
                                alternationEventEnd=[[3, 4], [1, 2]])

        self.assertEquals(len(useCase.scenario.items), 5)

        self.assertEquals(len(useCase.scenario.items[0].events), 0)
        self.assertEquals(len(useCase.scenario.items[1].events), 1)
        self.assertEquals(len(useCase.scenario.items[2].events), 0)
        self.assertEquals(len(useCase.scenario.items[3].events), 1)
        self.assertEquals(len(useCase.scenario.items[4].events), 0)

        self.assertIsInstance(useCase.scenario.items[1].events[0], Event)
        self.assertIsInstance(useCase.scenario.items[3].events[0], Event)

        event1Steps = useCase.scenario.items[1].events[0].scenario.items
        event3Steps = useCase.scenario.items[3].events[0].scenario.items

        self.assertEquals(len(event1Steps), 2)
        self.assertEquals(len(event3Steps), 4)

        self.assertIsInstance(event1Steps[1].items[0], EoUCCommand)
        self.assertIsInstance(event3Steps[3].items[0], EoUCCommand)
    def testUseCaseWithCycles(self):
        useCase0 = createUseCase(usecaseTitle="useCase0",
                                 mainScenario=3,
                                 alternationEventGoTo=[[0, 0, 3]])
        result0 = self.algorithm.execute(useCase0)
        self.assertEquals(len(result0), 2)
        pathLengthList = [len(path) for path in result0.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)

        useCase1 = createUseCase(usecaseTitle="useCase1",
                                 mainScenario=3,
                                 alternationEventGoTo=[[0, 0, 3], [0, 0, 2]])
        result1 = self.algorithm.execute(useCase1)
        self.assertEquals(len(result1), 5)
        pathLengthList = [len(path) for path in result1.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertIn(10, pathLengthList)
        self.assertEquals(pathLengthList.count(3), 1)
        self.assertEquals(pathLengthList.count(7), 1)
        self.assertEquals(pathLengthList.count(6), 1)
        self.assertEquals(pathLengthList.count(10), 2)

        useCase2 = createUseCase(usecaseTitle="useCase2",
                                 mainScenario=4,
                                 alternationEventGoTo=[[2, 0, 2], [1, 1, 3]])
        result2 = self.algorithm.execute(useCase2)
        self.assertEquals(len(result2), 5)
        pathLengthList = [len(path) for path in result2.tests]
        self.assertIn(4, pathLengthList)
        self.assertIn(9, pathLengthList)
        self.assertIn(13, pathLengthList)
        self.assertIn(8, pathLengthList)
        self.assertEquals(pathLengthList.count(4), 1)
        self.assertEquals(pathLengthList.count(9), 1)
        self.assertEquals(pathLengthList.count(13), 2)
        self.assertEquals(pathLengthList.count(8), 1)

        useCase3 = createUseCase(usecaseTitle="useCase3",
                                 mainScenario=3,
                                 alternationEventGoTo=[[1, 0, 2]])
        result3 = self.algorithm.execute(useCase3)
        self.assertEquals(len(result3), 2)
        pathLengthList = [len(path) for path in result3.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)

        useCase4 = createUseCase(usecaseTitle="useCase4",
                                 mainScenario=3,
                                 alternationEventGoTo=[[1, 0, 2], [1, 1, 2]],
                                 alternationEventEnd=[[0, 2]])
        result4 = self.algorithm.execute(useCase4)
        self.assertEquals(len(result4), 8)
        pathLengthList = [len(path) for path in result4.tests]
        self.assertIn(3, pathLengthList)
        self.assertIn(7, pathLengthList)
        self.assertIn(6, pathLengthList)
        self.assertIn(10, pathLengthList)
        self.assertEquals(pathLengthList.count(3), 2)
        self.assertEquals(pathLengthList.count(7), 2)
        self.assertEquals(pathLengthList.count(6), 1)
        self.assertEquals(pathLengthList.count(10), 3)