コード例 #1
0
 def test_get_instance_variables(self, custom_python_code):
     custom_fields_by_class_name = \
     {
         'SomeClass': ['some_var', 'var1', 'var2', 'yet_another_var', 'var3']
     }
     ast_node = ast.parse(custom_python_code)
     class_finder = ClassFinder()
     class_finder.visit(ast_node)
     class_nodes = class_finder.class_nodes_dict
     for class_name in class_nodes.keys():
         class_node = class_nodes[class_name]
         class_fields = custom_fields_by_class_name[class_name]
         ast_wrapper = AstClassWrapper(class_node)
         ast_wrapper_instance_vars = ast_wrapper.get_instance_variables()
         assert len(ast_wrapper_instance_vars) > 0
         assert len(class_fields) == len(ast_wrapper_instance_vars)
         assert len(ast_wrapper_instance_vars - set(class_fields)) == 0