Example #1
0
 def test_is_valid_function_with_return_in_the_middle(self):
     m_decl_original = [
         x for x in self.example_ast.get_proxy_nodes(
             ASTNodeType.METHOD_DECLARATION) if x.name == 'severalReturns'
     ][0]
     m_inv = [
         x for x in self.example_ast.get_proxy_nodes(
             ASTNodeType.METHOD_INVOCATION) if x.member == 'severalReturns'
     ][0]
     is_matched = is_match_to_the_conditions(self.example_ast, m_inv,
                                             m_decl_original)
     self.assertEqual(is_matched, False)
 def test_is_valid_function_with_return_in_the_middle(self):
     filepath = self.current_directory / "Example.java"
     ast = AST.build_from_javalang(build_ast(filepath))
     m_decl_original = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
         if x.name == 'severalReturns'
     ][0]
     m_inv = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_INVOCATION)
         if x.member == 'severalReturns'
     ][0]
     is_matched = is_match_to_the_conditions(ast, m_inv, m_decl_original)
     self.assertEqual(is_matched, False)
Example #3
0
 def test_is_valid_function_with_one_return(self):
     m_decl = [
         x for x in self.example_ast.get_proxy_nodes(
             ASTNodeType.METHOD_DECLARATION) if x.name == 'runDelete'
     ][0]
     m_decl_original = [
         x for x in self.example_ast.get_proxy_nodes(
             ASTNodeType.METHOD_DECLARATION) if x.name == 'delete'
     ][0]
     m_inv = [
         x for x in self.example_ast.get_subtree(m_decl).get_proxy_nodes(
             ASTNodeType.METHOD_INVOCATION) if x.member == 'delete'
     ][0]
     is_matched = is_match_to_the_conditions(self.example_ast, m_inv,
                                             m_decl_original)
     self.assertEqual(is_matched, True)
Example #4
0
 def test_is_return_type_not_assigning_value_valid(self):
     m_decl = [
         x for x in self.example_ast.get_proxy_nodes(
             ASTNodeType.METHOD_DECLARATION) if x.name == 'method_decl'
     ][0]
     m_inv = [
         x for x in self.example_ast.get_subtree(m_decl).get_proxy_nodes(
             ASTNodeType.METHOD_INVOCATION) if x.member == 'invocation'
     ][0]
     m_decl_original = [
         x for x in self.example_ast.get_proxy_nodes(
             ASTNodeType.METHOD_DECLARATION) if x.name == 'invocation'
     ][0]
     self.assertFalse(
         is_match_to_the_conditions(self.example_ast, m_inv,
                                    m_decl_original))
 def test_is_valid_function_with_one_return(self):
     filepath = self.current_directory / "Example.java"
     ast = AST.build_from_javalang(build_ast(filepath))
     m_decl = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
         if x.name == 'runDelete'
     ][0]
     m_decl_original = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
         if x.name == 'delete'
     ][0]
     m_inv = [
         x for x in ast.get_subtree(m_decl).get_proxy_nodes(
             ASTNodeType.METHOD_INVOCATION) if x.member == 'delete'
     ][0]
     is_matched = is_match_to_the_conditions(ast, m_inv, m_decl_original)
     self.assertEqual(is_matched, True)
 def test_is_return_type_not_assigning_value_valid(self):
     filepath = self.current_directory / "Example.java"
     ast = AST.build_from_javalang(build_ast(filepath))
     m_decl = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
         if x.name == 'method_decl'
     ][0]
     m_inv = [
         x for x in ast.get_subtree(m_decl).get_proxy_nodes(
             ASTNodeType.METHOD_INVOCATION) if x.member == 'invocation'
     ][0]
     m_decl_original = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
         if x.name == 'invocation'
     ][0]
     self.assertFalse(
         is_match_to_the_conditions(ast, m_inv, m_decl_original))
Example #7
0
 def test_invocation_inside_if_not_process(self):
     filepath = self.current_directory / "Example_nested.java"
     ast = AST.build_from_javalang(build_ast(filepath))
     m_decl = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
         if x.name == 'doAction'
     ][0]
     m_decl_original = [
         x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
         if x.name == 'handleAction'
     ][0]
     m_inv = [
         x for x in ast.get_subtree(m_decl).get_proxy_nodes(
             ASTNodeType.METHOD_INVOCATION) if x.member == 'handleAction'
     ][0]
     is_matched = is_match_to_the_conditions(ast, m_inv, m_decl_original)
     self.assertEqual(is_matched, False)
    def test_is_invocation_in_if_with_single_statement_valid(self):
        filepath = self.current_directory / "Example.java"
        ast = AST.build_from_javalang(build_ast(filepath))
        m_decl = [
            x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
            if x.name == 'test_single_stat_in_if'
        ][0]
        m_decl_original = [
            x for x in ast.get_proxy_nodes(ASTNodeType.METHOD_DECLARATION)
            if x.name == 'intersected_var'
        ][0]
        m_inv = [
            x for x in ast.get_subtree(m_decl).get_proxy_nodes(
                ASTNodeType.METHOD_INVOCATION) if x.member == 'intersected_var'
        ][0]

        self.assertFalse(
            is_match_to_the_conditions(ast, m_inv, m_decl_original))
Example #9
0
    def test_is_invocation_in_if_with_single_statement_valid(self):
        m_decl = [
            x for x in self.example_ast.get_proxy_nodes(
                ASTNodeType.METHOD_DECLARATION)
            if x.name == 'test_single_stat_in_if'
        ][0]
        m_decl_original = [
            x for x in self.example_ast.get_proxy_nodes(
                ASTNodeType.METHOD_DECLARATION) if x.name == 'intersected_var'
        ][0]
        m_inv = [
            x for x in self.example_ast.get_subtree(m_decl).get_proxy_nodes(
                ASTNodeType.METHOD_INVOCATION) if x.member == 'intersected_var'
        ][0]

        self.assertFalse(
            is_match_to_the_conditions(self.example_ast, m_inv,
                                       m_decl_original))