Example #1
0
class TestAcceptance(unittest.TestCase):
    def setUp(self):
        self.depend = Depend()

    def feed(self, precomp):
        lines = precomp.splitlines()
        self.depend.feed(lines)

    def getStats(self, precomp):
        self.feed(precomp)
        return self.depend.getStats()

    def getTree(self, precomp):
        self.feed(precomp)
        return self.depend.getTree()

    def testNoNothing(self):
        tree = self.getTree("")
        assert (tree is None)

    def testNoNothingStats(self):
        stats = self.getStats("")
        self.assertEqual(len(stats.files()), 0)

    def testNoLineInfo(self):
        tree = self.getTree("/*nothing to see here*/")
        assert (tree is None)

    def testFirstNode(self):
        precomp = '''#line 1 "test.cpp"'''
        tree = self.getTree(precomp)
        self.assertEqual(tree.name(), "test.cpp")

    def testWonkyLine(self):
        precomp = '''   #line 1 "test.cpp"'''
        tree = self.getTree(precomp)
        self.assertEqual(tree.name(), "test.cpp")

    def testFirstNodeWithAnnoyingName(self):
        precomp = '''#line 1 "C:\\blahblah\\overhere\\overthere\\test.cpp"'''
        tree = self.getTree(precomp)
        self.assertEqual(tree.name(), "test.cpp")

    def testFirstNodeWithLines(self):
        tree = self.getTree(precompWithLines)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 6)

    def testTwoRootLevelFiles(self):
        self.feed(precompWithLinesTemplate % "a.cpp")
        self.feed(precompWithLinesTemplate % "b.cpp")
        trees = self.depend.getTrees()
        self.assertEqual(len(trees), 2)
        self.assertEqual(trees[0].name(), "a.cpp")
        self.assertEqual(trees[0].lines(), 6)
        self.assertEqual(trees[0].totalLines(), 6)
        self.assertEqual(trees[1].name(), "b.cpp")
        self.assertEqual(trees[1].lines(), 6)
        self.assertEqual(trees[1].totalLines(), 6)

    def testOneInclude(self):
        tree = self.getTree(precompOneInclude)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 1)
        self.assertEqual(tree.children()[0].name(), "test.h")
        self.assertEqual(tree.children()[0].lines(), 1)
        self.assertEqual(len(tree.children()[0].children()), 0)

    def testNestedInclude(self):
        tree = self.getTree(precompNestedInclude)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 1)
        self.assertEqual(tree.children()[0].name(), "test2.h")
        self.assertEqual(tree.children()[0].lines(), 1)
        self.assertEqual(len(tree.children()[0].children()), 1)
        self.assertEqual(tree.children()[0].children()[0].name(), "test.h")

    def testNestedIncludeSameNames(self):
        tree = self.getTree(precompNestedIncludeSameName)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 1)
        self.assertEqual(tree.children()[0].name(), "test.h")
        self.assertEqual(tree.children()[0].lines(), 1)
        self.assertEqual(len(tree.children()[0].children()), 1)
        self.assertEqual(tree.children()[0].children()[0].name(), "test.h")

    def testTwoIncludes(self):
        tree = self.getTree(precompTwoIncludes)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 2)
        self.assertEqual(tree.children()[0].name(), "testa.h")
        self.assertEqual(tree.children()[1].name(), "testb.h")

    def testTotalLines(self):
        tree = self.getTree(precompWithLines)
        self.assertEqual(tree.totalLines(), 6)

    def testTotalLinesWithNestedChildren(self):
        tree = self.getTree(precompNestedInclude)
        self.assertEqual(tree.totalLines(), 7)

    def testTotalLinesWithChildren(self):
        tree = self.getTree(precompTwoIncludes)
        self.assertEqual(tree.totalLines(), 7)

    def testTwoGnuCppIncludes(self):
        tree = self.getTree(precompGnuCpp)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 4)
        self.assertEqual(len(tree.children()), 2)
        self.assertEqual(tree.children()[0].name(), "testa.h")
        self.assertEqual(tree.children()[1].name(), "testb.h")
Example #2
0
class TestAcceptance(unittest.TestCase):
    def setUp(self):
        self.depend = Depend()

    def feed(self, precomp):
        lines = precomp.splitlines()
        self.depend.feed(lines)

    def getStats(self, precomp):
        self.feed(precomp)
        return self.depend.getStats()

    def getTree(self, precomp):
        self.feed(precomp)
        return self.depend.getTree()

    def testNoNothing(self):
        tree = self.getTree("")
        assert tree is None

    def testNoNothingStats(self):
        stats = self.getStats("")
        self.assertEqual(len(stats.files()), 0)

    def testNoLineInfo(self):
        tree = self.getTree("/*nothing to see here*/")
        assert tree is None

    def testFirstNode(self):
        precomp = '''#line 1 "test.cpp"'''
        tree = self.getTree(precomp)
        self.assertEqual(tree.name(), "test.cpp")

    def testWonkyLine(self):
        precomp = '''   #line 1 "test.cpp"'''
        tree = self.getTree(precomp)
        self.assertEqual(tree.name(), "test.cpp")

    def testFirstNodeWithAnnoyingName(self):
        precomp = '''#line 1 "C:\\blahblah\\overhere\\overthere\\test.cpp"'''
        tree = self.getTree(precomp)
        self.assertEqual(tree.name(), "test.cpp")

    def testFirstNodeWithLines(self):
        tree = self.getTree(precompWithLines)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 6)

    def testTwoRootLevelFiles(self):
        self.feed(precompWithLinesTemplate % "a.cpp")
        self.feed(precompWithLinesTemplate % "b.cpp")
        trees = self.depend.getTrees()
        self.assertEqual(len(trees), 2)
        self.assertEqual(trees[0].name(), "a.cpp")
        self.assertEqual(trees[0].lines(), 6)
        self.assertEqual(trees[0].totalLines(), 6)
        self.assertEqual(trees[1].name(), "b.cpp")
        self.assertEqual(trees[1].lines(), 6)
        self.assertEqual(trees[1].totalLines(), 6)

    def testOneInclude(self):
        tree = self.getTree(precompOneInclude)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 1)
        self.assertEqual(tree.children()[0].name(), "test.h")
        self.assertEqual(tree.children()[0].lines(), 1)
        self.assertEqual(len(tree.children()[0].children()), 0)

    def testNestedInclude(self):
        tree = self.getTree(precompNestedInclude)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 1)
        self.assertEqual(tree.children()[0].name(), "test2.h")
        self.assertEqual(tree.children()[0].lines(), 1)
        self.assertEqual(len(tree.children()[0].children()), 1)
        self.assertEqual(tree.children()[0].children()[0].name(), "test.h")

    def testNestedIncludeSameNames(self):
        tree = self.getTree(precompNestedIncludeSameName)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 1)
        self.assertEqual(tree.children()[0].name(), "test.h")
        self.assertEqual(tree.children()[0].lines(), 1)
        self.assertEqual(len(tree.children()[0].children()), 1)
        self.assertEqual(tree.children()[0].children()[0].name(), "test.h")

    def testTwoIncludes(self):
        tree = self.getTree(precompTwoIncludes)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 5)
        self.assertEqual(len(tree.children()), 2)
        self.assertEqual(tree.children()[0].name(), "testa.h")
        self.assertEqual(tree.children()[1].name(), "testb.h")

    def testTotalLines(self):
        tree = self.getTree(precompWithLines)
        self.assertEqual(tree.totalLines(), 6)

    def testTotalLinesWithNestedChildren(self):
        tree = self.getTree(precompNestedInclude)
        self.assertEqual(tree.totalLines(), 7)

    def testTotalLinesWithChildren(self):
        tree = self.getTree(precompTwoIncludes)
        self.assertEqual(tree.totalLines(), 7)

    def testTwoGnuCppIncludes(self):
        tree = self.getTree(precompGnuCpp)
        self.assertEqual(tree.name(), "test.cpp")
        self.assertEqual(tree.lines(), 4)
        self.assertEqual(len(tree.children()), 2)
        self.assertEqual(tree.children()[0].name(), "testa.h")
        self.assertEqual(tree.children()[1].name(), "testb.h")
Example #3
0
from depend import Depend
from depend import DependReport


if __name__ == "__main__":
  import sys
  files = sys.argv[1:]
  depend = Depend()
  for file in files:
    lines = open(file).readlines()
    depend.feed(lines)
  reporter = DependReport()
  print reporter.reportStats(depend.getStats())
Example #4
0
from depend import Depend
from depend import DependReport

if __name__ == "__main__":
    import sys
    files = sys.argv[1:]
    depend = Depend()
    for file in files:
        lines = open(file).readlines()
        depend.feed(lines)
    reporter = DependReport()
    print reporter.reportStats(depend.getStats())