def test_read(tmpdir, use_pathlib): fnames = (ex.antfile, ex.planefile, ex.hexbeamfile, ex.spherefile, ex.uniformfile, ex.rectfile) if use_pathlib: fnames = [pathlib.Path(fname) for fname in fnames] types = (pyvista.PolyData, pyvista.PolyData, pyvista.UnstructuredGrid, pyvista.PolyData, pyvista.UniformGrid, pyvista.RectilinearGrid) for i, filename in enumerate(fnames): obj = fileio.read(filename) assert isinstance(obj, types[i]) # Now test the standard_reader_routine for i, filename in enumerate(fnames): # Pass attrs to for the standard_reader_routine to be used obj = fileio.read(filename, attrs={'DebugOn': None}) assert isinstance(obj, types[i]) # this is also tested for each mesh types init from file tests filename = str(tmpdir.mkdir("tmpdir").join(f'tmp.npy')) arr = np.random.rand(10, 10) np.save(filename, arr) with pytest.raises(IOError): _ = pyvista.read(filename) # read non existing file with pytest.raises(IOError): _ = pyvista.read('this_file_totally_does_not_exist.vtk') # Now test reading lists of files as multi blocks multi = pyvista.read(fnames) assert isinstance(multi, pyvista.MultiBlock) assert multi.n_blocks == len(fnames) nested = [ex.planefile, [ex.hexbeamfile, ex.uniformfile]] multi = pyvista.read(nested) assert isinstance(multi, pyvista.MultiBlock) assert multi.n_blocks == 2 assert isinstance(multi[1], pyvista.MultiBlock) assert multi[1].n_blocks == 2
def test_read_force_ext_wrong_extension(tmpdir): # try to read a .vtu file as .vts # vtkXMLStructuredGridReader throws a VTK error about the validity of the XML file # the returned dataset is empty fname = tmpdir / 'airplane.vtu' ex.load_airplane().cast_to_unstructured_grid().save(fname) with warnings.catch_warnings(): warnings.simplefilter("ignore") data = fileio.read(fname, force_ext='.vts') assert data.n_points == 0 # try to read a .ply file as .vtm # vtkXMLMultiBlockDataReader throws a VTK error about the validity of the XML file # the returned dataset is empty fname = ex.planefile with warnings.catch_warnings(): warnings.simplefilter("ignore") data = fileio.read(fname, force_ext='.vtm') assert len(data) == 0
def test_read(tmpdir): fnames = (ex.antfile, ex.planefile, ex.hexbeamfile, ex.spherefile, ex.uniformfile, ex.rectfile) types = (pyvista.PolyData, pyvista.PolyData, pyvista.UnstructuredGrid, pyvista.PolyData, pyvista.UniformGrid, pyvista.RectilinearGrid) for i, filename in enumerate(fnames): obj = fileio.read(filename) assert isinstance(obj, types[i]) # Now test the standard_reader_routine for i, filename in enumerate(fnames): # Pass attrs to for the standard_reader_routine to be used obj = fileio.read(filename, attrs={'DebugOn': None}) assert isinstance(obj, types[i]) # this is also tested for each mesh types init from file tests filename = str(tmpdir.mkdir("tmpdir").join('tmp.%s' % 'npy')) arr = np.random.rand(10, 10) np.save(filename, arr) with pytest.raises(IOError): _ = pyvista.read(filename) # read non existing file with pytest.raises(IOError): _ = pyvista.read('this_file_totally_does_not_exist.vtk')
def test_read_force_ext(tmpdir): fnames = (ex.antfile, ex.planefile, ex.hexbeamfile, ex.spherefile, ex.uniformfile, ex.rectfile) types = (pyvista.PolyData, pyvista.PolyData, pyvista.UnstructuredGrid, pyvista.PolyData, pyvista.UniformGrid, pyvista.RectilinearGrid) dummy_extension = '.dummy' for fname, type in zip(fnames, types): root, original_ext = os.path.splitext(fname) _, name = os.path.split(root) new_fname = tmpdir / name + '.' + dummy_extension shutil.copy(fname, new_fname) data = fileio.read(new_fname, force_ext=original_ext) assert isinstance(data, type)