def setUp(self): complex_fun = FunctionInfo("complex", '', 100) complex_fun.cyclomatic_complexity = 16 simple_fun = FunctionInfo("simple", '', 100) simple_fun.cyclomatic_complexity = 15 self.fileStat = FileInformation("FILENAME", 1, [complex_fun, simple_fun])
def test_sort_warning(self, print_function_info): option = Mock(display_fn_end_line = False, extensions = get_extensions([])) option.sorting = ['cyclomatic_complexity'] foo = FunctionInfo("foo", 100) foo.cyclomatic_complexity = 10 bar = FunctionInfo("bar", 100) bar.cyclomatic_complexity = 15 print_warnings(option, [(foo, "FILENAME"),(bar, "FILENAME")]) self.assertEqual('bar', print_function_info.call_args_list[0][0][0].name)
def test_whitelist(self, mock_exit): fun = FunctionInfo("foo", 100) fun.cyclomatic_complexity = 16 file_infos = [FileInformation('f1.c', 1, [fun])] option = Mock(CCN=15, number = 0, extensions=[], whitelist='foo') print_result(file_infos, option) self.assertEqual(0, mock_exit.call_count)
def test_exit_with_non_zero_when_more_warning_than_ignored_number(self, mock_exit): fun = FunctionInfo("foo", 100) fun.cyclomatic_complexity = 16 file_infos = [FileInformation('f1.c', 1, [fun])] option = Mock(CCN=15, number = 0, extensions=[], whitelist='') print_result(file_infos, option) mock_exit.assert_called_with(1)
def test_sort_warning(self): self.option.sorting = ['cyclomatic_complexity'] self.foo.cyclomatic_complexity = 10 bar = FunctionInfo("bar", '', 100) bar.cyclomatic_complexity = 15 print_warnings(self.option, self.scheme, [self.foo, bar]) self.assertEqual('bar', self.scheme.function_info.call_args_list[0][0][0].name)
def test_should_use_clang_format_for_warning(self): fun = FunctionInfo("foo", 100) fun.cyclomatic_complexity = 16 fileStat = FileInformation("FILENAME", 1, [fun]) option = Mock(CCN=15) print_warnings(option, [fileStat]) self.assertIn("FILENAME:100: warning: foo has 16 CCN and 0 params (0 NLOC, 0 tokens)\n", sys.stdout.stream)
def test_print_fileinfo(self): fun = FunctionInfo("foo", 100) fun.end_line = 100 fun.cyclomatic_complexity = 16 fileStat = FileInformation("FILENAME", 1, [fun]) print_and_save_detail_information([fileStat], self.options) self.assertEquals(" 0 16 1 0 foo@100-100@FILENAME", sys.stdout.stream.splitlines()[3])
def test_should_use_clang_format_with_function_end_line_number_for_warning(self): fun = FunctionInfo("foo", 100) fun.end_line = 100 fun.cyclomatic_complexity = 16 fileStat = FileInformation("FILENAME", 1, [fun]) option = Mock(display_fn_end_line = True) print_warnings(option, [(fun, "FILENAME")]) self.assertIn("FILENAME:100-100: warning: foo has 16 CCN and 0 params (0 NLOC, 1 tokens)\n", sys.stdout.stream)
def test_sort_warning(self): self.option.sorting = ['cyclomatic_complexity'] self.foo.cyclomatic_complexity = 30 bar = FunctionInfo("bar", '', 100) bar.cyclomatic_complexity = 40 fileSummary = FileInformation("FILENAME", 123, [self.foo, bar]) warnings = get_warnings([fileSummary], self.option) self.assertEqual('bar', warnings[0].name)
def test_sort_warning(self): self.option.sorting = ['cyclomatic_complexity'] self.foo.cyclomatic_complexity = 30 bar = FunctionInfo("bar", '', 100) bar.cyclomatic_complexity = 40 fileSummary = FileInformation("FILENAME", 123, [self.foo, bar]) warnings = get_warnings([fileSummary], self.option) self.assertEqual('bar', warnings[0].name)
def setUp(self): complex_fun = FunctionInfo("complex", '', 100) complex_fun.cyclomatic_complexity = 16 simple_fun = FunctionInfo("simple", '', 100) simple_fun.cyclomatic_complexity = 15 self.fileStat = FileInformation("FILENAME", 1, [complex_fun, simple_fun])