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
|
""" Tests if ReleaseData works.
When ReleaseData is set on an algorithm, its output
is supposed to be cleared by the consumer algorithm
once it is done processing it. The following test
verifies this.
"""
import vtk
from vtk.test import Testing
class TestReleaseData(Testing.vtkTest):
def test(self):
sphere = vtk.vtkSphereSource()
sphere.ReleaseDataFlagOn()
shrink = vtk.vtkShrinkFilter()
shrink.SetInputConnection(sphere.GetOutputPort())
shrink.ReleaseDataFlagOn()
shrink.Update()
# We expect sphere's output to be wiped by shrink after
# this update
self.assertEqual(sphere.GetOutput().GetNumberOfCells(), 0)
# We update sphere separately. Its output should not be
# empty
sphere.Update()
self.assertTrue(sphere.GetOutput().GetNumberOfCells() > 0)
if __name__ == "__main__":
Testing.main([(TestReleaseData, 'test')])
|