예제 #1
0
    def test_avg_line_len(self):
        from readability_analysis import get_readability_metrics
        res = get_readability_metrics('a', all_code="a\naa\n  ,", test=True)
        cor = 2.0
        self.assertEqual(res["avg_line_len"], cor)

        res = get_readability_metrics('a', all_code="a\naaa\n\n\nc", test=True)
        cor = 1.0
        self.assertEqual(res["avg_line_len"], cor)
예제 #2
0
    def test_max_line_len1(self):
        from readability_analysis import get_readability_metrics
        res = get_readability_metrics('a',
                                      all_code="a\naaaaa\n\n\nc",
                                      test=True)
        cor = 5.0
        self.assertEqual(res["max_line_len"], cor)

        res = get_readability_metrics('a', all_code="\n\n\n\n", test=True)
        cor = 0.0
        self.assertEqual(res["max_line_len"], cor)
예제 #3
0
    def test_avg_indentation(self):
        from readability_analysis import get_readability_metrics
        res = get_readability_metrics('a', all_code="   a,,\n a,,", test=True)
        cor = 2.0
        self.assertEqual(res["avg_indentation"], cor)

        res = get_readability_metrics('a',
                                      all_code="   a,,\n   a,,",
                                      test=True)
        cor = 3.0
        self.assertEqual(res["avg_indentation"], cor)
예제 #4
0
    def test_avg_spaces(self):
        from readability_analysis import get_readability_metrics
        res = get_readability_metrics('a',
                                      all_code="1 #com ##\n#comment",
                                      test=True)
        cor = 1
        self.assertEqual(res["avg_spaces"], cor)

        res = get_readability_metrics('a',
                                      all_code="1 #com    ##\n#comment",
                                      test=True)
        cor = 2.5
        self.assertEqual(res["avg_spaces"], cor)
예제 #5
0
    def test_max_numbers(self):
        from readability_analysis import get_readability_metrics
        res = get_readability_metrics('a',
                                      all_code="1\n,\3,\n\n\na",
                                      test=True)
        cor = 1
        self.assertEqual(res["max_numbers"], cor)

        res = get_readability_metrics('a',
                                      all_code="1029\n,\3,\n\n\na",
                                      test=True)
        cor = 4
        self.assertEqual(res["max_numbers"], cor)
예제 #6
0
    def test_avg_vars_len(self):
        from readability_analysis import get_readability_metrics
        res = get_readability_metrics('a b c',
                                      all_code="a 1 # a com ##\n#comment",
                                      test=True)
        cor = 1
        self.assertEqual(res["avg_vars_len"], cor)

        from readability_analysis import get_readability_metrics
        res = get_readability_metrics('a2 temp c2',
                                      all_code="a 1 # a com ##\n#comment",
                                      test=True)
        cor = 2.6666666667
        self.assertAlmostEqual(res["avg_vars_len"], cor)
예제 #7
0
 def test_max_vars_len(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a',
                                   all_code="a 1 # a com ##\n#comment",
                                   test=True)
     cor = 1
     self.assertEqual(res["max_vars_len"], cor)
예제 #8
0
 def test_avg_comments(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a',
                                   all_code="1###\n,  3,#\n\n\na",
                                   test=True)
     cor = 0.4
     self.assertEqual(res["avg_comments"], cor)
예제 #9
0
 def test_avg_keywords1(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a',
                                   all_code="a 1 if # a com ##\n#comment",
                                   test=True)
     cor = 0.5
     self.assertEqual(res["avg_keywords"], cor)
예제 #10
0
 def test_line_no(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a',
                                   all_code="a<-2,\n,a+b\n,b\n,",
                                   test=True)
     cor = 4.0
     self.assertEqual(res["line_no"], cor)
예제 #11
0
 def test_avg_assignments2(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a->>b", test=True)
     cor = 1
     self.assertEqual(res["avg_assignments"], cor)
예제 #12
0
 def test_avg_comparison_operators(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a i + i\n \n\n r_file == i i\n a i", test=True)
     cor = 0.2
     self.assertEqual(res["avg_comparison_operators"], cor)
예제 #13
0
 def test_avg_comparison_operators2(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a!=b", test=True)
     cor = 1
     self.assertEqual(res["avg_comparison_operators"], cor)
예제 #14
0
 def test_max_occurrence_of_character(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a i i\n \n\n r_file i i\n a i", test=True)
     cor = 3
     self.assertEqual(res["max_occurrence_of_character"], cor)
예제 #15
0
 def test_avg_arithmetic_operators1(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a^b", test=True)
     cor = 1
     self.assertEqual(res["avg_arithmetic_operators"], cor)
예제 #16
0
 def test_avg_commas(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', all_code=",,\n,,", test=True)
     cor = 2.0
     self.assertEqual(res["avg_commas"], cor)
예제 #17
0
 def test_avg_parentheses(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a 1 if # a (forinnextbreak). ##\n#comment\n\n", test=True)
     cor = 0.5
     self.assertEqual(res["avg_parentheses"], cor)
예제 #18
0
 def test_max_vars_count1(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('r_file r_text', \
         all_code="a 1 if # a [(for() innextbreak).]\{\} ##\n#comment\n\n", test=True)
     cor = 0
     self.assertEqual(res["max_vars_count"], cor)
예제 #19
0
 def test_avg_vars_count1(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a i r_file', \
         all_code="", test=True)
     cor = 0
     self.assertEqual(res["avg_vars_count"], cor)
예제 #20
0
 def test_max_indentation(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a\n  aaaaa\n\n\n        c", test=True)
     cor = 8.0
     self.assertEqual(res["max_indentation"], cor)
예제 #21
0
 def test_max_vars_count(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a i r_file', \
         all_code="for (r_file in r_file){", test=True)
     cor = 2
     self.assertEqual(res["max_vars_count"], cor)
예제 #22
0
 def test_vars(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a i r_file', \
         all_code="for (r_file in r_file){", test=True)
     cor = "a;i;r_file"
     self.assertEqual(res["vars"], cor)
예제 #23
0
 def test_avg_loops1(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="for (r_file in r_files){", test=True)
     cor = 1.0
     self.assertEqual(res["avg_loops"], cor)
예제 #24
0
 def test_avg_loops(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a 1 if # a [(for() innextbreak).]\{\} ##\n#comment\n\n", test=True)
     cor = 0.25
     self.assertEqual(res["avg_loops"], cor)
예제 #25
0
 def test_avg_branches(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="if a<- i + i\n \n\nelse r_file <<-i i\n a i", test=True)
     cor = 0.4
     self.assertEqual(res["avg_branches"], cor)
예제 #26
0
 def test_avg_vars_count2(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a i r_file', \
         all_code="a i i\n r_file i i\n a i", test=True)
     cor = 2.666666666667
     self.assertAlmostEqual(res["avg_vars_count"], cor)
예제 #27
0
 def test_avg_branches3(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="if if if else if else", test=True)
     cor = 5
     self.assertEqual(res["avg_branches"], cor)
예제 #28
0
 def test_avg_blank_lines1(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a i r_file', \
         all_code="a i i\n \n\n r_file i i\n a i", test=True)
     cor = 0.4
     self.assertEqual(res["avg_blank_lines"], cor)
예제 #29
0
 def test_max_occurence_of_var2(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('r_file', \
         all_code="for (r_file in r_file){", test=True)
     cor = 2
     self.assertEqual(res["max_occurence_of_var"], cor)
예제 #30
0
 def test_avg_periods(self):
     from readability_analysis import get_readability_metrics
     res = get_readability_metrics('a', \
         all_code="a 1 if # a forinnextbreak ##\n#comment", test=True)
     cor = 0
     self.assertEqual(res["avg_periods"], cor)