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