def constructor(self) -> Optional[FunctionLint]: """ Check func definition for 'constructor' by name :return: bool """ # iterate over all definitions from ast node body for func in self.functions: # check, that the aren't constants or assignment if isinstance(func, _ast.FunctionDef): # TODO: change None value to some other # return that function if it's constructor else None return FunctionLint(func) if func.name == '__init__' else None return None
def converted_methods(self) -> Tuple[FunctionLint]: """ Return all class methods as Function objects :return: tuple of class methods """ converted_methods = [] # iterate over all definitions from ast node body for func in self.functions: # check, that the aren't constants or assignment if isinstance(func, _ast.FunctionDef): # convert function from ast function object to local Function object converted_methods.append(FunctionLint(func)) # dont forget to convert list to immutable object return tuple(converted_methods)
def test_function_definition_is_pass(): assert FunctionLint( definition=SetEncapsulatedAttribsLineNumbersFixture.definition_is_pass, ).set_encapsulated_attribs_line_numbers() == ()
def test_definitions_consist_of_assign_without_attribute(): assert FunctionLint( definition=ConstructorNonAttribsValueLineNumberFixture.definitions_consist_of_assign_without_attribute, ).constructor_non_attribs_value_line_number() == (2,)
def test_definitions_is_not_a_test_function(): assert FunctionLint(definition=NonAssertMethodAtTestFunctionFixture. definitions_is_not_a_test_function, ).non_assert_methods_at_test_function() == ()
def test_method_name_is_none(): assert FunctionLint( definition=SetterOrGetterDefNamesLineNumbersFixture.name_is_none, ).setter_or_getters_def_names_line_numbers() == ()
def test_method_is_static(): assert FunctionLint(definition=StaticOrPrivateFixture.is_static, ).static_or_private() is True
def test_empty_decorator_list(): assert FunctionLint(definition=StaticOrPrivateFixture.empty_decorator_list, ).static_or_private() is False
def test_function_definition_is_expr(): assert FunctionLint(definition=StaticOrPrivateFixture.definition_is_expr, ).static_or_private() is False
def test_node_is_none(): assert FunctionLint( definition=ReturnedValueFixture.node_is_none, ).returned_value().__dict__ == ResultReturnValueFixture.none
def test_constructor_with_mutable(): assert FunctionLint(definition=ConstructorMutableAttribsLineNumberFixture. constructor_with_mutable, ).constructor_mutable_attribs_line_number() == (1, 2, 3)
def test_definition_is_not_a_function(): assert FunctionLint(definition=ConstructorMutableAttribsLineNumberFixture. definition_is_not_a_function, ).constructor_mutable_attribs_line_number() == ()
def test_definitions_consist_of_any_but_not_a_assign(): assert FunctionLint( definition=ConstructorNonAttribsValueLineNumberFixture.definitions_consist_of_any_but_not_a_assign, ).constructor_non_attribs_value_line_number() == (3,)
def test_function_is_constructor(): assert FunctionLint( definition=SetEncapsulatedAttribsLineNumbersFixture.is_constructor, ).set_encapsulated_attribs_line_numbers() == ()
def test_plain_expression_as_input(): assert FunctionLint( definition=ReturnedValueFixture.plain_expression_as_input, ).returned_value().__dict__ == ResultReturnValueFixture.wrong
def test_function_with_assign_with_self(): assert FunctionLint( definition=SetEncapsulatedAttribsLineNumbersFixture.with_assign_with_self, ).set_encapsulated_attribs_line_numbers() == (1,)
def test_function_body_is_empty(): assert FunctionLint( definition=ReturnedValueFixture.function_body_is_empty, ).returned_value().__dict__ == ResultReturnValueFixture.wrong
def test_empty_decorator_list_and_name(): with pytest.raises(AttributeError): assert FunctionLint( definition=StaticOrPrivateFixture.empty_decorator_list_and_name, ).static_or_private()
def test_function_body_with_return_expression(): assert FunctionLint( definition=ReturnedValueFixture.function_body_with_return_expression, ).returned_value().__dict__ == ResultReturnValueFixture.success
def test_method_decorated(): assert FunctionLint(definition=StaticOrPrivateFixture.decorated, ).static_or_private() is False
def test_empty_node(): assert FunctionLint(definition=ReflectionAtLineFixture.empty_node, ).reflection_at_line() == tuple()
def test_function_definition_is_pass(): assert FunctionLint( definition=SetterOrGetterDefNamesLineNumbersFixture.definition_is_pass, ).setter_or_getters_def_names_line_numbers() == ()
def test_is_instance_at_first_lvl(): assert FunctionLint( definition=ReflectionAtLineFixture.is_instance_at_first_lvl, ).reflection_at_line() == (1, )
def test_method_with_get_keywords(): assert FunctionLint( definition=SetterOrGetterDefNamesLineNumbersFixture.with_get_keywords, ).setter_or_getters_def_names_line_numbers() == (2,)
def test_type_at_second_lvl(): assert FunctionLint(definition=ReflectionAtLineFixture.type_at_second_lvl, ).reflection_at_line() == (2, )
def test_definitions_with_code(): assert FunctionLint( definition=NonAssertMethodAtTestFunctionFixture.definitions_with_code, ).non_assert_methods_at_test_function() == (1, )
def test_definitions_is_not_a_constructor(): assert FunctionLint( definition=ConstructorNonAttribsValueLineNumberFixture.definitions_is_not_a_constructor, ).constructor_non_attribs_value_line_number() == ()