コード例 #1
0
    def testGetOutOfRecordedFlowLoopCommandListTwoUnconsumedCommandsOnSameLines(
            self):
        loopCommandMgr = LoopCommandManager()
        sourcePathFileName = parentdir + "\\testclasses\\classloopnestedinneronefortestloopidxdic.py"
        fromClassName = 'ClassLoopNestedInnerOneForTestLoopIdxDic'
        fromMethodName = 'doB'

        with open(sourcePathFileName, "r") as f:
            contentList = f.readlines()
            methodDefLineIndex = [
                i for (i, entry) in enumerate(contentList)
                if fromMethodName in entry
            ][0]
            loopCommandMgr.storeLoopCommands(
                fromClassName, fromMethodName, methodDefLineIndex + 1,
                [contentList[methodDefLineIndex:]])

        loopCommandMgr.setLoopCommandIsOnFlow(0, fromClassName, fromMethodName,
                                              'doC2', 20)

        outOfFlowLoopCommandList = loopCommandMgr.getOutOfRecordedFlowLoopCommandList(
        )
        self.assertEqual(outOfFlowLoopCommandList, [
            [
                'ClassLoopNestedInnerOneForTestLoopIdxDic.doB->doCWithNote: 17',
                [':seqdiag_loop_start', '3 times', False]
            ],
            [
                'ClassLoopNestedInnerOneForTestLoopIdxDic.doB->doCWithNote: 17',
                [':seqdiag_loop_start', '3 times', False]
            ]
        ])
コード例 #2
0
    def testSetLoopCommandIsOnFlow(self):
        loopCommandMgr = LoopCommandManager()
        sourcePathFileName = parentdir + "\\testclasses\\classloopnestedinneronefortestloopidxdic.py"
        fromClassName = 'ClassLoopNestedInnerOneForTestLoopIdxDic'
        fromMethodName = 'doB'

        with open(sourcePathFileName, "r") as f:
            contentList = f.readlines()
            methodDefLineIndex = [
                i for (i, entry) in enumerate(contentList)
                if fromMethodName in entry
            ][0]
            loopCommandMgr.storeLoopCommands(
                fromClassName, fromMethodName, methodDefLineIndex + 1,
                [contentList[methodDefLineIndex:]])

        value_17 = loopCommandMgr.getLoopCommandList(fromClassName,
                                                     fromMethodName,
                                                     'doCWithNote', 17)
        loopCommandMgr.setLoopCommandIsOnFlow(0, fromClassName, fromMethodName,
                                              'doCWithNote', 17)
        self.assertEqual(value_17[0], [':seqdiag_loop_start', '3 times', True],
                         [':seqdiag_loop_start_end', '5 times', False])
        loopCommandMgr.setLoopCommandIsOnFlow(1, fromClassName, fromMethodName,
                                              'doCWithNote', 17)
        self.assertEqual(value_17[0], [':seqdiag_loop_start', '3 times', True],
                         [':seqdiag_loop_start_end', '5 times', True])

        value_20 = loopCommandMgr.getLoopCommandList(fromClassName,
                                                     fromMethodName, 'doC2',
                                                     20)
        loopCommandMgr.setLoopCommandIsOnFlow(0, fromClassName, fromMethodName,
                                              'doC2', 20)
        self.assertEqual(value_20[0], [':seqdiag_loop_end', '', True])
コード例 #3
0
    def testGetOutOfRecordedFlowLoopCommandListNoUnconsumedCommands(self):
        loopCommandMgr = LoopCommandManager()
        sourcePathFileName = parentdir + "\\testclasses\\classloopnestedinneronefortestloopidxdic.py"
        fromClassName = 'ClassLoopNestedInnerOneForTestLoopIdxDic'
        fromMethodName = 'doB'

        with open(sourcePathFileName, "r") as f:
            contentList = f.readlines()
            methodDefLineIndex = [
                i for (i, entry) in enumerate(contentList)
                if fromMethodName in entry
            ][0]
            loopCommandMgr.storeLoopCommands(
                fromClassName, fromMethodName, methodDefLineIndex + 1,
                [contentList[methodDefLineIndex:]])

        loopCommandMgr.setLoopCommandIsOnFlow(0, fromClassName, fromMethodName,
                                              'doCWithNote', 17)
        loopCommandMgr.setLoopCommandIsOnFlow(1, fromClassName, fromMethodName,
                                              'doCWithNote', 17)

        loopCommandMgr.setLoopCommandIsOnFlow(0, fromClassName, fromMethodName,
                                              'doC2', 20)
        self.assertIsNone(loopCommandMgr.getOutOfRecordedFlowLoopCommandList())