def test_referenced_variable_reference_by_process(self):
        ast = self.create_ast(Fixtures.SAME_NAME_FUNCTION_AND_REFERENCE)

        declarative_variable_node = ast['body'][0]['left']
        declarative_function_node = ast['body'][1]['left']

        tester = ReferenceReachabilityTester()
        tester.process(ast)

        self.assertTrue(is_referenced_declarative_identifier(declarative_variable_node))
        self.assertFalse(is_referenced_declarative_identifier(declarative_function_node))
    def test_referenced_variable_by_process(self):
        ast = self.create_ast(Fixtures.DECLARING_AND_REFERENCING)

        declarative_id_node = ast['body'][0]['left']

        tester = ReferenceReachabilityTester()
        tester.process(ast)

        self.assertTrue(is_referenced_declarative_identifier(declarative_id_node))
    def test_unreferenced_reference_by_process(self):
        ast = self.create_ast(Fixtures.MISS_DECLARATION)

        declarative_id_node = ast['body'][0]['left']

        tester = ReferenceReachabilityTester()
        tester.process(ast)

        self.assertFalse(is_referenced_declarative_identifier(declarative_id_node))
    def test_referenced_function_reference_by_process(self):
        ast = self.create_ast(Fixtures.FUNCTION_REF)

        declarative_variable_node = ast["body"][0]["left"]

        tester = ReferenceReachabilityTester()
        tester.process(ast)

        self.assertTrue(is_referenced_declarative_identifier(declarative_variable_node))