code: def test_is_normalized_random(self):
      rnd_dual_quaternion = (
          test_helpers.generate_random_test_dual_quaternions()
      )
      tensor_shape = rnd_dual_quaternion.shape[:-1]
  
      unnormalized_rnd_dual_quaternion = rnd_dual_quaternion * 1.01
      rnd_dual_quaternion = tf.convert_to_tensor(rnd_dual_quaternion)
      unnormalized_rnd_dual_quaternion = tf.convert_to_tensor(
          unnormalized_rnd_dual_quaternion
      )
      dual_quaternions = tf.concat(
          (rnd_dual_quaternion, unnormalized_rnd_dual_quaternion),
          axis=0,
      )
      mask = tf.concat(
          (
              tf.ones(shape=tensor_shape + (1,), dtype=bool),
              tf.zeros(shape=tensor_shape + (1,), dtype=bool),
          ),
          axis=0,
      )
      is_normalized = dual_quaternion.is_normalized(dual_quaternions)
  
      self.assertAllEqual(mask, is_normalized)
  
imports: from absl.testing import flagsaver
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_graphics.geometry.transformation import dual_quaternion
  from tensorflow_graphics.geometry.transformation import quaternion
  from tensorflow_graphics.geometry.transformation import rotation_matrix_3d
  from tensorflow_graphics.geometry.transformation.tests import test_helpers
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 24 for calling the DualQuaternionTest obj's underlying member method code with example usage: obj.test_is_normalized_random() without return types