code: def test_brdf_random(self, incoming_yz, outgoing_yz, ratio):
      tensor_size = np.random.randint(3)
      tensor_shape = np.random.randint(
          1, 10, size=(tensor_size)
      ).tolist()
      shininess = np.zeros(shape=tensor_shape + [1])
      albedo = np.random.uniform(
          low=0.0, high=1.0, size=tensor_shape + [3]
      )
      direction_incoming_light = np.random.uniform(
          low=-1.0, high=1.0, size=tensor_shape + [3]
      )
      direction_outgoing_light = np.random.uniform(
          low=-1.0, high=1.0, size=tensor_shape + [3]
      )
      surface_normal = np.array((0.0, 1.0, 1.0))
      direction_incoming_light[..., 1:3] = incoming_yz
      direction_outgoing_light[..., 1:3] = outgoing_yz
      direction_incoming_light = (
          direction_incoming_light
          / np.linalg.norm(
              direction_incoming_light, axis=-1, keepdims=True
          )
      )
      direction_outgoing_light = (
          direction_outgoing_light
          / np.linalg.norm(
              direction_outgoing_light, axis=-1, keepdims=True
          )
      )
      surface_normal = surface_normal / np.linalg.norm(
          surface_normal, axis=-1, keepdims=True
      )
  
      gt = albedo * ratio
      pred = blinn_phong.brdf(
          direction_incoming_light,
          direction_outgoing_light,
          surface_normal,
          shininess,
          albedo,
      )
  
      self.assertAllClose(gt, pred)
  
file_path: graphics/tensorflow_graphics/rendering/reflectance/tests/blinn_phong_test.py
imports: import math
  import sys
  from absl.testing import flagsaver
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_graphics.rendering.reflectance import blinn_phong
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 3 for calling the BlinnPhongTest obj's underlying member method code with example usage: obj.test_brdf_random(incoming_yz, outgoing_yz, ratio) without return types