Commit 54d93729 authored by David Gobbi's avatar David Gobbi
Browse files

Add a test for default args in python wrappers.

When C++ args with default parameter values are wrapped, those same
parameters should have the same default values in Python.
parent f2786d42
Pipeline #6762 passed with stage
......@@ -4,6 +4,7 @@ vtk_add_test_python(
TestArrays.py
TestArrayArguments.py
TestBuffer.py
TestDefaultArgs.py
TestEmptyInput.py
TestEnums.py
TestExecuteMethodFinalizeCrash.py
......
"""Test methods that use default parameter values.
Created on Feb 9, 2016 by David Gobbi
"""
import sys
import vtk
from vtk.test import Testing
class TestDefaultArgs(Testing.vtkTest):
def testDefaultInt(self):
"""Simple test of an integer arg with default value."""
image = vtk.vtkImageData()
image.SetExtent(0,9,0,9,0,9)
image.AllocateScalars(vtk.VTK_UNSIGNED_CHAR, 1)
ipi = vtk.vtkImagePointIterator()
# call this method with the threadId parameter set to 0
ipi.Initialize(image, (0,9,0,9,0,9), None, None, 0)
# call this method without the threadId parameter
ipi.Initialize(image, (0,9,0,9,0,9), None, None)
def testDefaultObjectPointer(self):
"""Test a vtkObject pointer arg with default value of 0."""
image = vtk.vtkImageData()
image.SetExtent(0,9,0,9,0,9)
image.AllocateScalars(vtk.VTK_UNSIGNED_CHAR, 1)
ipi = vtk.vtkImagePointIterator()
# call this method with the stencil parameter set to None
ipi.Initialize(image, (0,9,0,9,0,9), None)
# call this method without the stencil parameter
ipi.Initialize(image, (0,9,0,9,0,9))
def testDefaultArray(self):
"""Test an array arg with default value of 0."""
image = vtk.vtkImageData()
image.SetExtent(0,9,0,9,0,9)
image.AllocateScalars(vtk.VTK_UNSIGNED_CHAR, 1)
ipi = vtk.vtkImagePointIterator()
# call this method with the parameter set
ipi.Initialize(image, (0,9,0,9,0,9))
# call this method without extent parameter
ipi.Initialize(image)
# do another method for good measure
source = vtk.vtkImageGridSource()
source.SetDataExtent((0,99,0,99,0,0))
# set the parameter
source.UpdateExtent((0,50,0,50,0,0))
# use default parameter value
source.UpdateExtent()
def testDefaultPointer(self):
"""Test a POD pointer arg with default value of 0."""
a = vtk.vtkIntArray()
a.SetNumberOfComponents(3)
# pass an int pointer arg, expect something back
inc = [0]
vtk.vtkImagePointDataIterator.GetVoidPointer(a, 0, inc)
self.assertEqual(inc, [3])
# do not pass the pointer arg, default value 0 is passed
vtk.vtkImagePointDataIterator.GetVoidPointer(a, 0)
if __name__ == "__main__":
Testing.main([(TestDefaultArgs, 'test')])
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment