def test_function_info_header_should_have_the_captions_of_external_extensions(self): external_extension = Mock(FUNCTION_INFO = {"xx": {"caption":"*external_extension*"}}, ordering_index=-1) extensions = get_extensions([external_extension]) scheme = OutputScheme(extensions) print_and_save_modules([], extensions, scheme) self.assertEquals(" NLOC CCN token PARAM length *external_extension* location ", sys.stdout.stream.splitlines()[1]) self.assertFalse(scheme.any_regression())
def test_schema_should_exhaust_the_result_if_there_is_regression_data( self): external_extension = Mock(FUNCTION_INFO={"xx": { "regression": True }}, ordering_index=-1) extensions = get_extensions([external_extension]) schema = OutputScheme(extensions) self.assertTrue(schema.any_regression())
def test_print_file_summary_only_once(self): scheme = OutputScheme([]) print_and_save_modules([ FileInformation("FILENAME1", 123, []), FileInformation("FILENAME2", 123, []) ], scheme) self.assertEqual(1, sys.stdout.stream.count("FILENAME1"))
def test_print_and_save_detail_information(self): scheme = OutputScheme([]) fileSummary = FileInformation("FILENAME", 123, []) print_and_save_modules([fileSummary], scheme) self.assertIn( " 123 0.0 0.0 0.0 0 FILENAME\n", sys.stdout.stream)
def setUp(self): StreamStdoutTestCase.setUp(self) self.option = parse_args("app") self.foo = FunctionInfo("foo", 'FILENAME', 100) self.fileSummary = FileInformation("FILENAME", 123, [self.foo]) self.extensions = get_extensions([]) self.scheme = OutputScheme(self.extensions)
def test_function_info_header_should_have_the_captions_of_external_extensions(self): external_extension = Mock(FUNCTION_CAPTION = "*external_extension*", FUNCTION_INFO_PART ="xx", ordering_index=-1) del external_extension.AVERAGE_CAPTION extensions = get_extensions([external_extension]) scheme = OutputScheme(extensions) print_and_save_modules([], extensions, scheme) self.assertEquals(" NLOC CCN token PARAM length *external_extension* location ", sys.stdout.stream.splitlines()[1])
def test_print_extension_results(self): file_infos = [] extension = Mock(FUNCTION_CAPTION = "") del extension.AVERAGE_CAPTION option = Mock(CCN=15, thresholds={}, number = 0, extensions = [extension], whitelist='') print_result(file_infos, option, OutputScheme(option.extensions)) self.assertEqual(1, extension.print_result.call_count)
def test_should_generate_property_for_file_info(self): class MyExt: FUNCTION_INFO = {"max_nesting_depth": {"caption": " ND ", "average_caption": " Avg.ND "}} OutputScheme([MyExt()]).patch_for_extensions() self.func.max_nesting_depth = 1.5 self.assertEqual(self.file_info.average_max_nesting_depth, 1.5)
def test_should_use_clang_format_for_warning(self): self.foo.cyclomatic_complexity = 30 self.foo.max_nesting_depth = 10 fileSummary = FileInformation("FILENAME", 123, [self.foo]) scheme = OutputScheme([Ext()]) count = print_clang_style_warning([fileSummary], self.option, scheme) self.assertIn("FILENAME:100: warning: foo has 1 NLOC, 30 CCN, 1 token, 0 PARAM, 0 length, 10 ND\n", sys.stdout.stream) self.assertEqual(1, count)
def setUp(self): StreamStdoutTestCase.setUp(self) self.extensions = get_extensions([]) self.scheme = OutputScheme(self.extensions) self.foo = FunctionInfo("foo", 'FILENAME', 100)
def print_result_with_scheme(result, option): return print_result(result, option, OutputScheme(option.extensions), AllResult)
def test_schema_should_exhaust_the_result_if_there_is_regression_data(self): external_extension = Mock(FUNCTION_INFO = {"xx": {"regression": True}}, ordering_index=-1) extensions = get_extensions([external_extension]) schema = OutputScheme(extensions) self.assertTrue(schema.any_regression())