code: def testNotImplementedMessages(self):
      x = BCOO.fromdense(jnp.arange(5.0))
      # Test a densifying primitive
      with self.assertRaisesRegex(
          NotImplementedError,
          r"^sparse rule for cos is not implemented because it would result in dense output\.",
      ):
          self.sparsify(lax.cos)(x)
  
      # Test a generic not implemented primitive.
      with self.assertRaisesRegex(
          NotImplementedError,
          r"^sparse rule for complex is not implemented\.$",
      ):
          self.sparsify(lax.complex)(x, x)
  
imports: from functools import partial
  import math
  import operator
  from absl.testing import absltest
  from absl.testing import parameterized
  import numpy
  import jax
  from jax import config, jit, lax
  import jax.numpy
  import jax._src.test_util
  from jax.experimental.sparse import BCOO, BCSR, sparsify, todense, SparseTracer
  from jax.experimental.sparse.transform import arrays_to_spvalues, spvalues_to_arrays, sparsify_raw, SparsifyValue, SparsifyEnv
  from jax.experimental.sparse.util import CuSparseEfficiencyWarning
  from jax.experimental.sparse import test_util
label_desc: Use image node_id 2 for calling the SparsifyTest obj's underlying member method code with example usage: obj.testNotImplementedMessages() without return types