code: def test_compute_normals(multiblock_poly):
      for block in multiblock_poly:
          block.clear_data()
          block["point_data"] = range(block.n_points)
      mblock = multiblock_poly._compute_normals(
          cell_normals=False, split_vertices=True, track_vertices=True
      )
      for block in mblock:
          assert "Normals" in block.point_data
          assert "point_data" in block.point_data
          assert "pyvistaOriginalPointIds" in block.point_data
  
      # test non-poly raises
      multiblock_poly.append(pv.UnstructuredGrid())
      with pytest.raises(
          RuntimeError, match="This multiblock contains non-PolyData"
      ):
          multiblock_poly._compute_normals()
  
imports: import pathlib
  import platform
  import weakref
  import numpy
  import pytest
  import vtk
  import pyvista
  from pyvista import ImageData, MultiBlock, PolyData, RectilinearGrid, StructuredGrid, examples
label_desc: Use image node_id 40 for calling a global function with example usage: test_compute_normals(multiblock_poly) without return types