123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- from vtkmodules.util import vtkMethodParser
- class Tester:
- def __init__(self, debug=0):
- self.setDebug(debug)
- self.parser = vtkMethodParser.VtkDirMethodParser()
- self.obj = None
- def setDebug(self, val):
- """Sets debug value of the vtkMethodParser. 1 is verbose and
- 0 is not. 0 is default."""
- vtkMethodParser.DEBUG = val
- def testParse(self, obj):
- """ Testing if the object is parseable."""
- self.parser.parse_methods(obj)
- self.obj = obj
- def testGetSet(self, obj, excluded_methods=[]):
- """ Testing Get/Set methods."""
- if obj != self.obj:
- self.testParse(obj)
- methods = self.parser.get_set_methods()
- toggle = [x[:-2] for x in self.parser.toggle_methods()]
- methods.extend(toggle)
- for method in methods:
- if method in excluded_methods:
- continue
- setm = "Set%s"%method
- getm = "Get%s"%method
- val = eval("obj.%s()"%getm)
- try:
- eval("obj.%s"%setm)(*val)
- except TypeError:
- eval("obj.%s"%setm)(*(val,))
- val1 = eval("obj.%s()"%getm)
- if val1 != val:
- name = obj.GetClassName()
- msg = "Failed test for %(name)s.Get/Set%(method)s\n"\
- "Before Set, value = %(val)s; "\
- "After Set, value = %(val1)s"%locals()
- raise AssertionError(msg)
- def testBoolean(self, obj, excluded_methods=[]):
- """ Testing boolean (On/Off) methods."""
- if obj != self.obj:
- self.testParse(obj)
- methods = self.parser.toggle_methods()
- for method1 in methods:
- method = method1[:-2]
- if method in excluded_methods:
- continue
- getm = "Get%s"%method
- orig_val = eval("obj.%s()"%getm)
- # Turn on
- eval("obj.%sOn()"%method)
- val = eval("obj.%s()"%getm)
- if val != 1:
- name = obj.GetClassName()
- msg = "Failed test for %(name)s.%(method)sOn\n"\
- "Result not equal to 1 "%locals()
- raise AssertionError(msg)
- # Turn on
- eval("obj.%sOff()"%method)
- val = eval("obj.%s()"%getm)
- if val != 0:
- name = obj.GetClassName()
- msg = "Failed test for %(name)s.%(method)sOff\n"\
- "Result not equal to 0 "%locals()
- raise AssertionError(msg)
- # set the value back to the original value.
- eval("obj.Set%s(orig_val)"%method)
- def test(self, obj):
- """Test the given vtk object."""
- # first try parsing the object.
- self.testParse(obj)
- # test the get/set methods
- self.testGetSet(obj)
- # test the boolean methods
- self.testBoolean(obj)
|