Skip to content

Commit acc65f1

Browse files
committed
Add test comparing subtrees after successful copy_tree
1 parent b9fa24c commit acc65f1

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

tests/test_node.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,21 @@ def test_node_copy_across_games():
171171
game1.copy_tree(game2.root, game1.root)
172172

173173

174+
def test_copy_tree():
175+
def subtrees_equal(n1: gbt.Node, n2: gbt.Node) -> bool:
176+
if n1.outcome != n2.outcome or n1.infoset != n2.infoset:
177+
return False
178+
return all(subtrees_equal(c1, c2) for (c1, c2) in zip(n1.children, n2.children))
179+
180+
g = games.read_from_file("e02.efg")
181+
dest_node = g.nodes()[1]
182+
src_node = g.nodes()[4]
183+
184+
g.copy_tree(src_node, dest_node)
185+
186+
assert subtrees_equal(src_node, dest_node)
187+
188+
174189
def test_node_move_nonterminal():
175190
"""Test on moving to a nonterminal node."""
176191
game = games.read_from_file("basic_extensive_game.efg")

0 commit comments

Comments
 (0)