4 class TestSourceFileList(unittest.TestCase):
8 self.sf_list = ohcount.SourceFileList(paths=['../../gestalt_files'])
10 def assertStrOp(self, obj, not_equals):
14 self.assertTrue(s is not v)
16 def assertHasAttr(self, obj, name, not_equals=None):
17 self.assertTrue(hasattr(obj, name))
19 val = getattr(obj, name)
21 self.assertTrue(val is not v)
23 def assertHasItem(self, obj, name, not_equals=None):
24 self.assertTrue(name in obj)
28 self.assertTrue(val is not v)
30 def assertHasItemAttr(self, obj, name, not_equals=None):
31 self.assertHasAttr(obj, name, not_equals)
32 self.assertHasItem(obj, name, not_equals)
34 def assertHasKeys(self, obj, keylist):
36 self.assertTrue(k in obj)
38 def assertListIsInstance(self, list, type):
40 self.assertTrue(isinstance(o, type))
42 def assertHasItemAttrs(self, obj, list, not_equals=None):
44 self.assertHasItemAttr(obj, name, not_equals)
47 self.assertTrue(len(self.sf_list) > 0)
48 self.assertListIsInstance(self.sf_list, ohcount.SourceFile)
51 self.assertStrOp(self.sf_list, [None, ""])
53 def testAnalyzeLanguages(self):
54 locs = self.sf_list.analyze_languages()
55 self.assertTrue(isinstance(locs, ohcount.LocList))
56 names = ['code','comments','blanks','filecount','total']
57 self.assertHasKeys(locs, names)
58 self.assertHasItemAttrs(locs, names, [None, 0])
59 self.assertListIsInstance(locs, ohcount.Loc)
61 def testAddDirectory(self):
62 self.sf_list.add_directory('../../detect_files') # must not raise
64 def testAddFile(self):
65 self.sf_list.add_file('../../src_licenses/academic_t1.c') # must not raise
67 if __name__ == '__main__':