def test_tree_prop(): n = 8 ssos = [SSO(str(i)) for i in xrange(n)] partial = [0, 1, 1, 2, 3, 3, 5, 6] # for c, p in izip(ssos, partial): # if p > 0: # c.reparentTo(ssos[p - 1]) SSO.connect_tree(ssos, partial) ssos.append(NodePath("last")) ssos[-1].reparentTo(ssos[-2]) props = [SSO.cast(c).read_prop() for c in ssos] props2, partial2 = ssos[0].tree_prop() assert sorted(props) == sorted(props2)
def test_disconnect_tree(): n = 8 ssos = [SSO(str(i)) for i in xrange(n)] partial = [0, 1, 1, 2, 3, 3, 5, 6] top = SSO.connect_tree(ssos, partial) top.disconnect_tree() assert not any(sso.hasParent() for sso in ssos)
def test_connect_tree(): n = 4 ssos = [SSO(str(i)) for i in xrange(n)] partial = [0, 1, 1, 2] top = SSO.connect_tree(ssos, partial) top2 = ssos[0] ssos[1].reparentTo(ssos[0]) ssos[2].reparentTo(ssos[0]) ssos[3].reparentTo(ssos[1]) assert top.tree() == top2.tree()