1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
"""Test if VTK-Python objects support weak referencing.
Run this test like so:
$ vtkpython TestWeakref.py
or
$ python TestWeakref.py
Created on July, 8 2005
Prabhu Ramachandran <prabhu_r at users dot sf dot net>
"""
import sys
import vtk
from vtk.test import Testing
try:
import weakref
except ImportError:
print("No weakref in this version of Python. Time to upgrade?")
print("Python version:", sys.version)
sys.exit(0)
class TestWeakref(Testing.vtkTest):
def testWeakref(self):
o = vtk.vtkObject()
ref = weakref.ref(o)
self.assertEqual(ref().GetClassName(), 'vtkObject')
del o
self.assertEqual(ref(), None)
def testProxy(self):
o = vtk.vtkObject()
proxy = weakref.proxy(o)
self.assertEqual(proxy.GetClassName(), 'vtkObject')
del o
self.assertRaises(ReferenceError, getattr,
proxy, 'GetClassName')
if __name__ == "__main__":
Testing.main([(TestWeakref, 'test')])
|