def test_multi_block_init_vtk(): multi = vtk.vtkMultiBlockDataSet() multi.SetBlock(0, vtk.vtkRectilinearGrid()) multi.SetBlock(1, vtk.vtkStructuredGrid()) multi = MultiBlock(multi) assert isinstance(multi, MultiBlock) assert multi.n_blocks == 2 assert isinstance(multi.GetBlock(0), RectilinearGrid) assert isinstance(multi.GetBlock(1), StructuredGrid) multi = vtk.vtkMultiBlockDataSet() multi.SetBlock(0, vtk.vtkRectilinearGrid()) multi.SetBlock(1, vtk.vtkStructuredGrid()) multi = MultiBlock(multi, deep=True) assert isinstance(multi, MultiBlock) assert multi.n_blocks == 2 assert isinstance(multi.GetBlock(0), RectilinearGrid) assert isinstance(multi.GetBlock(1), StructuredGrid) # Test nested structure multi = vtk.vtkMultiBlockDataSet() multi.SetBlock(0, vtk.vtkRectilinearGrid()) multi.SetBlock(1, vtk.vtkImageData()) nested = vtk.vtkMultiBlockDataSet() nested.SetBlock(0, vtk.vtkUnstructuredGrid()) nested.SetBlock(1, vtk.vtkStructuredGrid()) multi.SetBlock(2, nested) # Wrap the nested structure multi = MultiBlock(multi) assert isinstance(multi, MultiBlock) assert multi.n_blocks == 3 assert isinstance(multi.GetBlock(0), RectilinearGrid) assert isinstance(multi.GetBlock(1), UniformGrid) assert isinstance(multi.GetBlock(2), MultiBlock)
def test_multi_block_init_dict(rectilinear, airplane): data = {'grid': rectilinear, 'poly': airplane} multi = MultiBlock(data) assert isinstance(multi, MultiBlock) assert multi.n_blocks == 2 # Note that dictionaries do not maintain order assert isinstance(multi.GetBlock(0), (RectilinearGrid, PolyData)) assert multi.get_block_name(0) in ['grid', 'poly'] assert isinstance(multi.GetBlock(1), (RectilinearGrid, PolyData)) assert multi.get_block_name(1) in ['grid', 'poly']
def test_multi_block_init_list(rectilinear, airplane): data = [rectilinear, airplane] multi = MultiBlock(data) assert isinstance(multi, MultiBlock) assert multi.n_blocks == 2 assert isinstance(multi.GetBlock(0), RectilinearGrid) assert isinstance(multi.GetBlock(1), PolyData)