# loki.ir.tests.test_visitor

Functions

`test_attach_scopes_associates`(frontend, tmp_path) |
`test_expression_callback_mapper`(frontend) | Test the ExpressionFinder together with ExpressionCallbackMapper.
`test_expression_finder`(frontend) | Test the expression finder's ability to yield only all variables.
`test_expression_finder_unique`(frontend) | Test the expression finder's ability to yield unique variables.
`test_expression_finder_unique_with_ir_node`(...) | Test the expression finder's ability to yield the ir node combined with only unique variables.
`test_expression_finder_with_ir_node`(frontend) | Test the expression finder's ability to yield the root node.
`test_expression_retriever_recurse_query`(frontend) | Test the ExpressionRetriever with a custom recurse query that allows to terminate recursion early.
`test_find_nodes_greedy`(frontend) | Test the FindNodes visitor's greedy property.
`test_find_scopes`(frontend) | Test the FindScopes visitor.
`test_find_variables_associates`(frontend) | Test correct discovery of variables in associates.
`test_is_child_of`(frontend) | Test the `is_child_of` utility.
`test_is_parent_of`(frontend) | Test the `is_parent_of` utility.
`test_masked_transformer`(frontend) | A very basic sanity test for the MaskedTransformer class.
`test_masked_transformer_associates`(frontend) | Test the masked transformer in conjunction with associate blocks
`test_masked_transformer_minimum_set`(frontend) | A very basic sanity test for the MaskedTransformer class with require_all_start or greedy_stop properties.
`test_nested_masked_transformer`(frontend) | Test the masked transformer in conjunction with nesting
`test_stringifier`(frontend, tmp_path) | Test basic stringifier capability for most IR nodes.
`test_transformer_duplicate_node_tuple_injection`(...) | Test for #41, where identical nodes in a tuple have not been correctly handled in the tuple injection mechanism.
`test_transformer_multinode_keys`(frontend) | Test basic transformer functionality with nulti-node keys
`test_transformer_rebuild`(frontend) | Test basic transformer functionality with and without node rebuilding.
`test_transformer_source_invalidation_prepend`(...) | Test basic transformer functionality and verify source invalidation when adding items to a loop body.
`test_transformer_source_invalidation_replace`(...) | Test basic transformer functionality and verify source invalidation when replacing nodes.

test_find_nodes_greedy(frontend)

  Test the FindNodes visitor’s greedy property.

test_find_scopes(frontend)

  Test the FindScopes visitor.

test_expression_finder(frontend)

  Test the expression finder’s ability to yield only all variables.

test_expression_finder_unique(frontend)

  Test the expression finder’s ability to yield unique variables.

test_expression_finder_with_ir_node(frontend)

  Test the expression finder’s ability to yield the root node.

test_expression_finder_unique_with_ir_node(frontend)

  Test the expression finder’s ability to yield the ir node combined with only unique variables.

test_expression_callback_mapper(frontend)

  Test the ExpressionFinder together with ExpressionCallbackMapper. This is just a very basic sanity check and does not cover all angles.

test_expression_retriever_recurse_query(frontend)

  Test the ExpressionRetriever with a custom recurse query that allows to terminate recursion early.

test_find_variables_associates(frontend)

  Test correct discovery of variables in associates.

test_stringifier(frontend, tmp_path)

  Test basic stringifier capability for most IR nodes.

test_transformer_source_invalidation_replace(frontend)

  Test basic transformer functionality and verify source invalidation when replacing nodes.

test_transformer_source_invalidation_prepend(frontend)

  Test basic transformer functionality and verify source invalidation when adding items to a loop body.

test_transformer_rebuild(frontend)

  Test basic transformer functionality with and without node rebuilding.

test_transformer_multinode_keys(frontend)

  Test basic transformer functionality with nulti-node keys

test_masked_transformer(frontend)

  A very basic sanity test for the MaskedTransformer class.

test_masked_transformer_minimum_set(frontend)

  A very basic sanity test for the MaskedTransformer class with require_all_start or greedy_stop properties.

test_masked_transformer_associates(frontend)

  Test the masked transformer in conjunction with associate blocks

test_nested_masked_transformer(frontend)

  Test the masked transformer in conjunction with nesting

test_is_parent_of(frontend)

  Test the `is_parent_of` utility.

test_is_child_of(frontend)

  Test the `is_child_of` utility.

test_attach_scopes_associates(frontend, tmp_path)

test_transformer_duplicate_node_tuple_injection(frontend, invalidate_source, replacement)

  Test for #41, where identical nodes in a tuple have not been correctly handled in the tuple injection mechanism.