def testBreakStringIntoLines_tooSmallToBreak(self):
     maxColumnWidth = 80
     tabSize = 4
     smallString = "X"*80
     stringLines = breakStringIntoLines(smallString, maxColumnWidth)
     self.assertEqual(len(stringLines),1)
     self.assertEqual(stringLines[0], smallString)
Exemplo n.º 2
0
 def testBreakStringIntoLines_tooSmallToBreak(self):
     maxColumnWidth = 80
     tabSize = 4
     smallString = "X" * 80
     stringLines = breakStringIntoLines(smallString, maxColumnWidth)
     self.assertEqual(len(stringLines), 1)
     self.assertEqual(stringLines[0], smallString)
 def testBreakStringIntoLines_unbreakable(self):
     maxColumnWidth = 80
     tabSize = 4
     unbreakableString = "X"*100
     stringLines = breakStringIntoLines(unbreakableString, maxColumnWidth)
     self.assertEqual(len(stringLines),1)
     self.assertEqual(stringLines[0], unbreakableString)
Exemplo n.º 4
0
 def testBreakStringIntoLines_unbreakable(self):
     maxColumnWidth = 80
     tabSize = 4
     unbreakableString = "X" * 100
     stringLines = breakStringIntoLines(unbreakableString, maxColumnWidth)
     self.assertEqual(len(stringLines), 1)
     self.assertEqual(stringLines[0], unbreakableString)
 def testBreakStringIntoLines_hasNewLine(self):
     maxColumnWidth = 80
     tabSize = 4
     smallString = "X"*80
     twoLineString = smallString + "\n" + smallString
     stringLines = breakStringIntoLines(twoLineString, maxColumnWidth)
     self.assertEqual(len(stringLines),2)
     self.assertEqual(stringLines[0], smallString)
     self.assertEqual(stringLines[1], smallString)
Exemplo n.º 6
0
 def testBreakStringIntoLines_hasNewLine(self):
     maxColumnWidth = 80
     tabSize = 4
     smallString = "X" * 80
     twoLineString = smallString + "\n" + smallString
     stringLines = breakStringIntoLines(twoLineString, maxColumnWidth)
     self.assertEqual(len(stringLines), 2)
     self.assertEqual(stringLines[0], smallString)
     self.assertEqual(stringLines[1], smallString)
 def testBreakStringIntoLines_breakInTwo(self):
     maxColumnWidth = 80
     separatorDist = 40
     tabSize = 4
     separator = ','
     lineSeparator = " \\"
     splitmarker = ''
     unbreakableString = "X"*100
     breakableString = unbreakableString + separator + unbreakableString
     stringLines = breakStringIntoLines(breakableString, maxColumnWidth)
     self.assertEqual(len(stringLines), 2)
     self.assertEqual(stringLines[0], unbreakableString+separator+splitmarker)
     self.assertEqual(stringLines[1], " "*tabSize + unbreakableString)
Exemplo n.º 8
0
 def testBreakStringIntoLines_breakInTwo(self):
     maxColumnWidth = 80
     separatorDist = 40
     tabSize = 4
     separator = ','
     lineSeparator = " \\"
     splitmarker = ''
     unbreakableString = "X" * 100
     breakableString = unbreakableString + separator + unbreakableString
     stringLines = breakStringIntoLines(breakableString, maxColumnWidth)
     self.assertEqual(len(stringLines), 2)
     self.assertEqual(stringLines[0],
                      unbreakableString + separator + splitmarker)
     self.assertEqual(stringLines[1], " " * tabSize + unbreakableString)
Exemplo n.º 9
0
 def testGenerateUnitTestCode(self):
     import Util.Tests.TestGeneratorExampleModule as testModule
     testContainers = [('TestGeneratorExampleModule_Functions', ["Function1", "Function2"]), \
                       ('EmptyClass', []), \
                       ('ExampleClass',  ['SomeFunction'])]
     generator = self.templateGenerator
     tabSpaces = ' ' * generator.indentSpaces
     maxColWidth = generator.maxColWidth
     testClassName = generator.unitTestClass.__module__ + '.' + generator.unitTestClass.__name__
     targetCodeLines = []
     targetCodeLines.append("import %s" %
                            (generator.unitTestClass.__module__, ))
     targetCodeLines.append(
         "from %s import (EmptyClass, ExampleClass, function1, function2,)"
         % (testModule.__name__, ))
     targetCodeLines.append('')
     for containerName, containerAttributes in testContainers:
         targetCodeLines.append("class %sTest(%s):" %
                                (containerName, testClassName))
         targetCodeLines.append('')
         targetCodeLines.append(tabSpaces + "def setUp(self):")
         targetCodeLines.append(tabSpaces * 2 + "pass")
         targetCodeLines.append("")
         for attr in containerAttributes:
             targetCodeLines.append(tabSpaces + "def test%s(self):" %
                                    (attr))
             targetCodeLines.append(tabSpaces * 2 + "pass")
             targetCodeLines.append("")
         targetCodeLines.append("")
     targetCodeLines.append('if __name__ == "__main__":')
     targetCodeLines.append(tabSpaces + 'unittest.main()')
     #targetCodeLines.append('else:')
     #targetCodeLines.append(tabSpaces + 'import sys')
     #targetCodeLines.append(tabSpaces + 'TestSuite = unittest.TestLoader.loadTestsFromModule(sys.modules[__name__])')
     targetCodeLines = [codeLine for targetLine in targetCodeLines \
                        for codeLine in breakStringIntoLines(targetLine, maxColWidth)]
     targetSourceCode = '\n'.join(targetCodeLines)
     x = targetSourceCode
     y = generator.generateUnitTestCode(testModule)
     for i, v in enumerate(x):
         if y[i] != v:
             print i, y[i:]
     self.assertEqual(targetSourceCode,
                      generator.generateUnitTestCode(testModule))
 def testGenerateUnitTestCode(self):
     import Util.Tests.TestGeneratorExampleModule as testModule
     testContainers = [('TestGeneratorExampleModule_Functions', ["Function1", "Function2"]), \
                       ('EmptyClass', []), \
                       ('ExampleClass',  ['SomeFunction'])]
     generator = self.templateGenerator
     tabSpaces = ' '*generator.indentSpaces
     maxColWidth = generator.maxColWidth
     testClassName = generator.unitTestClass.__module__ + '.' + generator.unitTestClass.__name__
     targetCodeLines = []
     targetCodeLines.append("import %s"%(generator.unitTestClass.__module__,))
     targetCodeLines.append("from %s import (EmptyClass, ExampleClass, function1, function2,)"%(testModule.__name__,))
     targetCodeLines.append('')
     for containerName, containerAttributes in testContainers:
         targetCodeLines.append("class %sTest(%s):"%(containerName,testClassName))
         targetCodeLines.append('')
         targetCodeLines.append(tabSpaces+"def setUp(self):")
         targetCodeLines.append(tabSpaces*2+"pass")
         targetCodeLines.append("")
         for attr in containerAttributes:
             targetCodeLines.append(tabSpaces+"def test%s(self):"%(attr))
             targetCodeLines.append(tabSpaces*2+"pass")
             targetCodeLines.append("")
         targetCodeLines.append("")
     targetCodeLines.append('if __name__ == "__main__":')
     targetCodeLines.append(tabSpaces + 'unittest.main()')
     #targetCodeLines.append('else:')
     #targetCodeLines.append(tabSpaces + 'import sys')
     #targetCodeLines.append(tabSpaces + 'TestSuite = unittest.TestLoader.loadTestsFromModule(sys.modules[__name__])')
     targetCodeLines = [codeLine for targetLine in targetCodeLines \
                        for codeLine in breakStringIntoLines(targetLine, maxColWidth)]
     targetSourceCode = '\n'.join(targetCodeLines)
     x= targetSourceCode
     y= generator.generateUnitTestCode(testModule)
     for i, v in enumerate(x):
         if y[i] != v:
             print i, y[i:]
     self.assertEqual(targetSourceCode, generator.generateUnitTestCode(testModule))