code: def test_gaussian_noise(input_dtype, input_shape):
      transform = T.GaussianNoise(0.0, 1.0)
      input_t = tf.random.uniform(input_shape, dtype=tf.float32)
      if input_dtype == tf.uint8:
          input_t = tf.math.round((255 * input_t))
      input_t = tf.cast(input_t, dtype=input_dtype)
      transformed = transform(input_t)
      assert isinstance(transformed, tf.Tensor)
      assert transformed.shape == input_shape
      assert transformed.dtype == input_dtype
      assert tf.math.reduce_any(transformed != input_t)
      assert tf.math.reduce_all(transformed >= 0)
      if input_dtype == tf.uint8:
          assert tf.reduce_all(transformed <= 255)
      else:
          assert tf.reduce_all(transformed <= 1.0)
  
imports: import math
  import numpy
  import pytest
  import tensorflow
  from doctr import transforms
  from doctr.transforms.functional import crop_detection, rotate_sample
label_desc: Use image node_id 19 for calling a global function with example usage: test_gaussian_noise(input_dtype, input_shape) without return types