open_toontown_panda3d/tests/collide/test_collision_node.py

47 lines
1.1 KiB
Python

from panda3d.core import *
import sys
class CustomObject:
pass
def test_collision_node_owner():
owner = CustomObject()
initial_rc = sys.getrefcount(owner)
node = CollisionNode("node")
assert node.owner is None
node.owner = owner
assert sys.getrefcount(owner) == initial_rc
assert node.owner is owner
node.owner = owner
assert sys.getrefcount(owner) == initial_rc
assert node.owner is owner
node.owner = None
assert sys.getrefcount(owner) == initial_rc
assert node.owner is None
del node
assert sys.getrefcount(owner) == initial_rc
# Assign owner and then delete node
node = CollisionNode("node")
assert sys.getrefcount(owner) == initial_rc
node.owner = owner
assert sys.getrefcount(owner) == initial_rc
del node
assert sys.getrefcount(owner) == initial_rc
# Delete owner and see what happens to the node
node = CollisionNode("node")
assert sys.getrefcount(owner) == initial_rc
node.owner = owner
assert sys.getrefcount(owner) == initial_rc
del owner
assert node.owner is None