Skip to content

Commit

Permalink
add test for treeutil support
Browse files Browse the repository at this point in the history
  • Loading branch information
braingram committed Jan 17, 2024
1 parent 315b4b1 commit a5a6e86
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions asdf/_tests/test_lazy_nodes.py
Original file line number Diff line number Diff line change
Expand Up @@ -247,3 +247,22 @@ def test_resolve_af_ref():
def test_to_lazy_node(NodeClass, data):
node = _to_lazy_node(data, None)
assert isinstance(node, NodeClass)


def test_lazy_node_treeutil_support():
af = asdf.AsdfFile()
af_ref = weakref.ref(af)
tree = {
"ordered_dict": AsdfOrderedDictNode({"a": 1}, af_ref),
"dict": AsdfDictNode({"b": 2}, af_ref),
"list": AsdfListNode([3, 4], af_ref),
}
seen_ints = set()

def callback(node):
if isinstance(node, int):
seen_ints.add(node)

asdf.treeutil.walk_and_modify(tree, callback)

assert seen_ints == set([1, 2, 3, 4])

0 comments on commit a5a6e86

Please sign in to comment.