1import math
2import vtk
3from vtk.util.misc import vtkGetDataRoot
4VTK_DATA_ROOT = vtkGetDataRoot()
5
6reader = vtk.vtkGenericEnSightReader()
7reader.SetCaseFileName("" + str(VTK_DATA_ROOT) + "/Data/EnSight/UndefAndPartialAscii/grid.case")
8reader.ReadAllVariablesOn()
9reader.Update()
10
11case = reader.GetOutput()
12block0 = case.GetBlock(0)
13mass = block0.GetCellData().GetArray("mass")
14
15assert mass is not None and \
16        mass.GetRange()[0] == 0.0 and mass.GetRange()[1] == 3.0 and \
17        math.isnan(mass.GetValue(2))
18
19pres = block0.GetPointData().GetArray("pres")
20assert pres is not None and \
21        pres.GetRange()[0] == 4.0 and pres.GetRange()[1] == 6.0 and \
22        pres.GetValue(2) == 4 and pres.GetValue(4) == 6
23
24for i in range(0, 10):
25    if i == 2 or i == 4: continue
26    assert math.isnan(pres.GetValue(i))
27