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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
import unittest
from vtkmodules.vtkCommonCore import (
VTK_DOUBLE,
VTK_INT,
VTK_OBJECT,
VTK_STRING,
vtkCommand,
vtkObject,
)
from vtkmodules.util.misc import calldata_type
from vtkmodules.test import Testing
testInt = 12
testString = "test string"
testFloat = 5.4
class VTKPythonObjectCalldataInvokeEventTest(Testing.vtkTest):
@calldata_type(VTK_INT)
def callbackInt(self, caller, event, calldata):
self.calldata = calldata
@calldata_type(VTK_STRING)
def callbackString(self, caller, event, calldata):
self.calldata = calldata
@calldata_type(VTK_DOUBLE)
def callbackFloat(self, caller, event, calldata):
self.calldata = calldata
@calldata_type(VTK_OBJECT)
def callbackObj(self, caller, event, calldata):
self.calldata = calldata
def setUp(self):
self.vtkObj = vtkObject()
self.vtkObjForCallData = vtkObject()
def test_int(self):
self.vtkObj.AddObserver(vtkCommand.AnyEvent, self.callbackInt)
self.vtkObj.InvokeEvent(vtkCommand.ModifiedEvent, testInt)
self.assertEqual(self.calldata, testInt)
def test_string(self):
self.vtkObj.AddObserver(vtkCommand.AnyEvent, self.callbackString)
self.vtkObj.InvokeEvent(vtkCommand.ModifiedEvent, testString)
self.assertEqual(self.calldata, testString)
def test_float(self):
self.vtkObj.AddObserver(vtkCommand.AnyEvent, self.callbackFloat)
self.vtkObj.InvokeEvent(vtkCommand.ModifiedEvent, testFloat)
self.assertAlmostEqual(self.calldata, testFloat)
def test_obj(self):
self.vtkObj.AddObserver(vtkCommand.AnyEvent, self.callbackObj)
self.vtkObj.InvokeEvent(vtkCommand.ModifiedEvent, self.vtkObjForCallData)
self.assertEqual(self.calldata, self.vtkObjForCallData)
if __name__ == '__main__':
Testing.main([(VTKPythonObjectCalldataInvokeEventTest, 'test')])
|