Example #1
0
class Test_using_muliple_base_extensions(unittest.TestCase):
    def setUp(self):
        self.ext = FanInOut()
        self.lizard_object = FileAnalyzer(get_extensions(
            ["io", "ns", "nd"])).analyze_source_code(
                "a.cpp", """int foo(){
                                                                              bar();
                                                                              if(a){
                                                                                  b;
                                                                              }
                                                                          }
                                                              int bar(){foo();};"""
            )

    def test_reduce_func_in_lizardio(self):
        lizard_object = None
        self.assertRaises((AttributeError, TypeError, ValueError),
                          self.ext.reduce(lizard_object))

    def test_all_extention_simultaneously(self):

        self.ext.reduce(self.lizard_object)
        correct_max_nd = {'foo': 1, 'bar': 0}
        correct_max_nested_struct = {'foo': 1, 'bar': 0}
        correct_fan_out = {'foo': 1, 'bar': 1}
        correct_general_fan_out = {'foo': 1, 'bar': 1}
        correct_fan_in = {'foo': 1, 'bar': 1}
        self.assertDictEqual(
            correct_max_nd, {
                func.name: func.max_nesting_depth
                for func in self.lizard_object.function_list
            })
        self.assertDictEqual(
            correct_max_nested_struct, {
                func.name: func.max_nested_structures
                for func in self.lizard_object.function_list
            })
        self.assertDictEqual(correct_fan_out, {
            func.name: func.fan_out
            for func in self.lizard_object.function_list
        })
        self.assertDictEqual(
            correct_general_fan_out, {
                func.name: func.general_fan_out
                for func in self.lizard_object.function_list
            })
        self.assertDictEqual(correct_fan_in, {
            func.name: func.fan_in
            for func in self.lizard_object.function_list
        })
Example #2
0
 def setUp(self):
     self.ext = FanInOut()
     self.lizard_object = FileAnalyzer(get_extensions(
         ["io", "ns", "nd"])).analyze_source_code("a.cpp", """int foo(){
                                                                           bar();
                                                                           if(a){
                                                                               b;
                                                                           }
                                                                       }
                                                           int bar(){foo();};""")
Example #3
0
 def setUp(self):
     self.ext = FanInOut()
     self.lizard_object = FileAnalyzer(get_extensions(
         ["io", "ns", "nd"])).analyze_source_code("a.cpp", """int foo(){
                                                                           bar();
                                                                           if(a){
                                                                               b;
                                                                           }
                                                                       }
                                                           int bar(){foo();};""")
Example #4
0
class Test_using_muliple_base_extensions(unittest.TestCase):
    def setUp(self):
        self.ext = FanInOut()
        self.lizard_object = FileAnalyzer(get_extensions(
            ["io", "ns", "nd"])).analyze_source_code("a.cpp", """int foo(){
                                                                              bar();
                                                                              if(a){
                                                                                  b;
                                                                              }
                                                                          }
                                                              int bar(){foo();};""")

    def test_reduce_func_in_lizardio(self):
        lizard_object = None
        self.assertRaises((AttributeError, TypeError, ValueError), list(self.ext.cross_file_process([lizard_object])))


    def test_all_extention_simultaneously(self):
        list(self.ext.cross_file_process([self.lizard_object]))
        correct_max_nd = {'foo': 1,
                          'bar': 0}
        correct_max_nested_struct = {'foo': 1,
                                     'bar': 0}
        correct_fan_out = {'foo': 1,
                           'bar': 1}
        correct_general_fan_out = {'foo': 1,
                                   'bar': 1}
        correct_fan_in = {'foo': 1,
                          'bar': 1}
        self.assertDictEqual(correct_max_nd,
                             {func.name: func.max_nesting_depth for func in self.lizard_object.function_list})
        self.assertDictEqual(correct_max_nested_struct,
                             {func.name: func.max_nested_structures for func in self.lizard_object.function_list})
        self.assertDictEqual(correct_fan_out,
                             {func.name: func.fan_out for func in self.lizard_object.function_list})
        self.assertDictEqual(correct_general_fan_out,
                             {func.name: func.general_fan_out for func in self.lizard_object.function_list})
        self.assertDictEqual(correct_fan_in,
                             {func.name: func.fan_in for func in self.lizard_object.function_list})