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 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
=========================================================================
Program: Visualization Toolkit
Module: TestNamedColorsIntegration.py
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================
'''
# Run this test like so:
# vtkpython TestSortFileNames.py -D $VTK_DATA_ROOT
import re
import vtk
import vtk.test.Testing
from vtk.util.misc import vtkGetDataRoot
VTK_DATA_ROOT = vtkGetDataRoot()
class TestSortFileNames(vtk.test.Testing.vtkTest):
def testSortFileNames(self):
globFileNames = vtk.vtkGlobFileNames()
# globs do not include Kleene star support for patern repetitions thus
# we insert a pattern for both single and double digit file extensions.
globFileNames.AddFileNames(VTK_DATA_ROOT + "/Data/headsq/quarter.[1-9]")
globFileNames.AddFileNames(VTK_DATA_ROOT + "/Data/headsq/quarter.[1-9][0-9]")
globFileNames.AddFileNames(VTK_DATA_ROOT + "/Data/track*.binary.vtk")
sortFileNames = vtk.vtkSortFileNames()
sortFileNames.SetInputFileNames(globFileNames.GetFileNames())
sortFileNames.NumericSortOn()
sortFileNames.SkipDirectoriesOn()
sortFileNames.IgnoreCaseOn()
sortFileNames.GroupingOn()
if sortFileNames.GetNumberOfGroups() != 2:
print("GetNumberOfGroups returned incorrect number")
exit(1)
fileNames1 = sortFileNames.GetNthGroup(0)
fileNames2 = sortFileNames.GetNthGroup(1)
numberOfFiles1 = 93
numberOfFiles2 = 3
n = fileNames1.GetNumberOfValues()
if n != numberOfFiles1:
for i in range(0, n):
print(fileNames1.GetValue(i))
print("GetNumberOfValues should return", numberOfFiles1, "not", n)
exit(1)
for i in range(0, numberOfFiles1):
j = i + 1
s = VTK_DATA_ROOT + "/Data/headsq/quarter." + str(j)
if fileNames1.GetValue(i) != s:
print("string does not match pattern")
print(fileNames1.GetValue(i))
print(s)
exit(1)
n = fileNames2.GetNumberOfValues()
if n != numberOfFiles2:
for i in range(0, n):
print(fileNames2.GetValue(i))
print("GetNumberOfValues should return", numberOfFiles2, "not", n)
exit(1)
for i in range(0, numberOfFiles2):
j = i + 1
s = VTK_DATA_ROOT + "/Data/track" + str(j) + ".binary.vtk"
if fileNames2.GetValue(i) != s:
print("string does not match pattern")
print(fileNames2.GetValue(i))
print(s)
exit(1)
vtk.test.Testing.interact()
if __name__ == "__main__":
vtk.test.Testing.main([(TestSortFileNames, 'test')])
|