def testGhostForDict(self): """Ghost an object to save the dict""" o = svtk.svtkObject() o.customattr = 'hello' a = svtk.svtkVariantArray() a.InsertNextValue(o) i = id(o) del o o = svtk.svtkObject() o = a.GetValue(0).ToSVTKObject() # make sure the id has changed, but dict the same self.assertEqual(o.customattr, 'hello') self.assertNotEqual(i, id(o))
def setUp(self): self.svtkObjs = [svtk.svtkObject() for _ in range(30)] self.collection = svtk.svtkCollection() for obj in self.svtkObjs: self.collection.AddItem(obj) self.emptyCollection = svtk.svtkCollection()
def testProxy(self): o = svtk.svtkObject() proxy = weakref.proxy(o) self.assertEqual(proxy.GetClassName(), 'svtkObject') del o self.assertRaises(ReferenceError, getattr, proxy, 'GetClassName')
def testPriorityArg(self): """Test the optional priority argument """ cb = callback() o = svtk.svtkObject() o.AddObserver(svtk.svtkCommand.ModifiedEvent, cb, 0.5) o.Modified() self.assertEqual(cb.caller, o)
def testUseEventNameString(self): """Test binding with a string event name. """ cb = callback() o = svtk.svtkObject() o.AddObserver("ModifiedEvent", cb) o.Modified() self.assertEqual(cb.caller, o) self.assertEqual(cb.event, "ModifiedEvent")
def testCommandWithArgs(self): """Test binding a command that has arguments. """ cb = callback() o = svtk.svtkObject() o.AddObserver(svtk.svtkCommand.ModifiedEvent, cb) o.Modified() self.assertEqual(cb.caller, o) self.assertEqual(cb.event, "ModifiedEvent")
def testCommandCircularRef(self): """Test correct reference loop reporting for commands """ cb = callback() o = svtk.svtkObject() o.AddObserver(svtk.svtkCommand.ModifiedEvent, cb) cb.circular_ref = o # referent to check if "o" is deleted referent = svtk.svtkObject() o.referent = referent # make sure gc removes referrer "o" from referent s1 = repr(gc.get_referrers(referent)) del o del cb gc.collect() s2 = repr(gc.get_referrers(referent)) self.assertNotEqual(s1, s2) self.assertNotEqual(s1.count("svtkObject"), 0) self.assertEqual(s2.count("svtkObject"), 0)
def testObjectPointer(self): a = svtk.svtkInformation() ptr = a.__this__ # check the format _0123456789abcdef_p_svtkInformation self.assertEqual(ptr[0:1], "_") self.assertEqual(ptr[-17:], "_p_svtkInformation") address = int(ptr[1:-17], 16) # create a SVTK object from the swig pointer b = svtk.svtkObject(ptr) self.assertEqual(b.GetClassName(), a.GetClassName()) self.assertEqual(a.__this__, b.__this__) self.assertEqual(a, b)
def testGhostForClass(self): """Ghost an object to save the class""" o = svtkCustomObject() a = svtk.svtkVariantArray() a.InsertNextValue(o) i = id(o) del o o = svtk.svtkObject() o = a.GetValue(0).ToSVTKObject() # make sure the id has changed, but class the same self.assertEqual(o.__class__, svtkCustomObject) self.assertNotEqual(i, id(o))
def testSubclassGhost(self): """Make sure ghosting of the class works""" o = svtkCustomObject() c = svtk.svtkCollection() c.AddItem(o) i = id(o) del o o = svtk.svtkObject() o = c.GetItemAsObject(0) # make sure the id has changed, but class the same self.assertEqual(o.__class__, svtkCustomObject) self.assertNotEqual(i, id(o))
def testArgumentConversion(self): """Test argument conversion via implicit constructors""" # automatic conversion to svtkVariant a = svtk.svtkVariantArray() a.InsertNextValue(2.5) a.InsertNextValue(svtk.svtkObject()) self.assertEqual(a.GetValue(0), svtk.svtkVariant(2.5)) self.assertEqual(a.GetValue(1).GetType(), svtk.SVTK_OBJECT) # same, but this one is via "const svtkVariant&" argument a = svtk.svtkDenseArray[float]() a.Resize(1) a.SetVariantValue(0, 2.5) self.assertEqual(a.GetVariantValue(0).ToDouble(), 2.5)
def testRemoveCommand(self): """Test the removal of an observer. """ cb = callback() o = svtk.svtkObject() o.AddObserver(svtk.svtkCommand.ModifiedEvent, cb) o.Modified() self.assertEqual(cb.caller, o) o.RemoveObservers(svtk.svtkCommand.ModifiedEvent) cb.caller = None cb.event = None o.Modified() self.assertEqual(cb.caller, None)
def testConstructors(self): """Test overloaded constructors""" # resolve by number of arguments v = svtk.svtkVector3d(3, 4, 5) self.assertEqual((v[0], v[1], v[2]), (3, 4, 5)) v = svtk.svtkVector3d(6) self.assertEqual((v[0], v[1], v[2]), (6, 6, 6)) # resolve by argument type v = svtk.svtkVariant(3.0) self.assertEqual(v.GetType(), svtk.SVTK_DOUBLE) v = svtk.svtkVariant(1) self.assertEqual(v.GetType(), svtk.SVTK_INT) v = svtk.svtkVariant("hello") self.assertEqual(v.GetType(), svtk.SVTK_STRING) v = svtk.svtkVariant(svtk.svtkObject()) self.assertEqual(v.GetType(), svtk.SVTK_OBJECT)
def testGetCommand(self): """Test getting the svtkCommand object """ cb = callback() o = svtk.svtkObject() n = o.AddObserver(svtk.svtkCommand.ModifiedEvent, cb) o.Modified() self.assertEqual(cb.caller, o) c = o.GetCommand(n) self.assertEqual((c.IsA("svtkCommand") != 0), True) # in the future, o.RemoveObserver(c) should also be made to work o.RemoveObserver(n) cb.caller = None cb.event = None o.Modified() self.assertEqual(cb.caller, None)
def testAddRemoveObservers(self): """Test adding and removing observers """ cb = callback() cb2 = callback() o = svtk.svtkObject() n = o.AddObserver(svtk.svtkCommand.ModifiedEvent, cb) n2 = o.AddObserver(svtk.svtkCommand.ModifiedEvent, cb2) o.Modified() self.assertEqual(cb.caller, o) self.assertEqual(cb2.caller, o) o.RemoveObserver(n) cb.reset() cb2.reset() o.Modified() self.assertEqual(cb.caller, None) self.assertEqual(cb2.caller, o) o.RemoveObserver(n2) cb.reset() cb2.reset() o.Modified() self.assertEqual(cb.caller, None) self.assertEqual(cb2.caller, None)
def __init__(self): self.Object = svtk.svtkObject() self.Object.AddObserver('StartEvent', self.Handler)
def testVariantExtract(self): """Use svtkVariantExtract""" l = [1, '2', cedilla, 4.0, svtk.svtkObject()] s = [svtk.svtkVariant(x) for x in l] m = [svtk.svtkVariantExtract(x) for x in s] self.assertEqual(l, m)
else: var_name += repr(arg) return var_name #init Tk try: import Tkinter pythonTk = Tkinter.Tk() pythonTk.withdraw() except: pythonTk = None pass #no hassles if Tk is not present. # setup some common things for testing rtTempObject = svtk.svtkObject() rtExMath = svtk.svtkMath() rtExMath.RandomSeed(6) # create the testing class to do the work rtTester = svtk.svtkTesting() for arg in sys.argv[2:]: rtTester.AddArgument(arg) SVTK_DATA_ROOT = rtTester.GetDataRoot() if rtTester.IsInteractiveModeSpecified() == 0: svtk.svtkRenderWindowInteractor = svtkTestingInteractor # load in the script
def testConstructorArgs(self): """Test the use of constructor arguments.""" extra = svtk.svtkObject() o = svtkCustomObject(extra) self.assertEqual(o.GetClassName(), "svtkCustomObject") self.assertEqual(id(o.GetExtraObject()), id(extra))
def __init__(self, extra=None): """Initialize all attributes.""" if extra is None: extra = svtk.svtkObject() self._ExtraObject = extra
def setUp(self): self.svtkObj = svtk.svtkObject() self.svtkObjForCallData = svtk.svtkObject()
def testObject(self): a = svtk.svtkObject() b = svtk.svtkObject() self.assertNotEqual(a, b)
def testWeakref(self): o = svtk.svtkObject() ref = weakref.ref(o) self.assertEqual(ref().GetClassName(), 'svtkObject') del o self.assertEqual(ref(), None)
try: print(dir(svtk)) except: print("Cannot print(dir(svtk)") sys.exit(1) try: try: try: o = svtk.svtkLineWidget() print("Using Hybrid") except: o = svtk.svtkActor() print("Using Rendering") except: o = svtk.svtkObject() print("Using Common") except: print("Cannot create svtkObject") sys.exit(1) try: print(o) print("Reference count: %d" % o.GetReferenceCount()) print("Class name: %s" % o.GetClassName()) except: print("Cannot print object") sys.exit(1) try: b = svtk.svtkObject()