code: def test_sphere_subdivide():
      sphere1 = unit_octahedron.subdivide(4)
      sphere2 = Sphere(xyz=sphere1.vertices)
      nt.assert_equal(sphere1.faces.shape, sphere2.faces.shape)
      nt.assert_equal(
          array_to_set(sphere1.faces), array_to_set(sphere2.faces)
      )
  
      sphere1 = unit_icosahedron.subdivide(4)
      sphere2 = Sphere(xyz=sphere1.vertices)
      nt.assert_equal(sphere1.faces.shape, sphere2.faces.shape)
      nt.assert_equal(
          array_to_set(sphere1.faces), array_to_set(sphere2.faces)
      )
  
imports: import numpy
  import numpy.testing
  import pytest
  import warnings
  from dipy.core.sphere import Sphere, HemiSphere, unique_edges, unique_sets, faces_from_sphere_vertices, disperse_charges, fibonacci_sphere, disperse_charges_alt, _get_forces, _get_forces_alt, unit_octahedron, unit_icosahedron, hemi_icosahedron
  from dipy.core.geometry import cart2sphere, vector_norm
  from dipy.core.sphere_stats import random_uniform_on_sphere
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 12 for calling a global function with example usage: test_sphere_subdivide() without return types