code: def test_sample_weighted():
      cl_obj = contrastive.ContrastiveLoss()
      y_true = tf.constant([0, 0, 1, 1, 0, 1], dtype=tf.dtypes.int64)
      y_pred = tf.constant(
          [0.1, 0.3, 1.3, 0.7, 1.1, 0.5], dtype=tf.dtypes.float32
      )
      sample_weight = tf.constant(
          [1.2, 0.8, 0.5, 0.4, 1.5, 1.0], dtype=tf.dtypes.float32
      )
      loss = cl_obj(y_true, y_pred, sample_weight=sample_weight)
  
      # Loss = y * (y`)^2 + (1 - y) * (max(m - y`, 0))^2
      #      = [max(1 - 0.1, 0)^2, max(1 - 0.3, 0)^2,
      #         1.3^2, 0.7^2, max(1 - 1.1, 0)^2, 0.5^2]
      #      = [0.9^2, 0.7^2, 1.3^2, 0.7^2, 0^2, 0.5^2]
      #      = [0.81, 0.49, 1.69, 0.49, 0, 0.25]
      # Weighted loss = [0.81 * 1.2, 0.49 * 0.8, 1.69 * 0.5,
      #                  0.49 * 0.4, 0 * 1.5, 0.25 * 1.0]
      #               = [0.972, 0.392, 0.845, 0.196, 0, 0.25]
      # Reduced loss = (0.972 + 0.392 + 0.845 + 0.196 + 0 + 0.25) / 6
      #              = 0.4425
  
      np.testing.assert_allclose(loss, 0.4425)
  
file_path: addons/tensorflow_addons/losses/tests/contrastive_test.py
imports: import numpy
  import tensorflow
  from tensorflow_addons.losses import contrastive
label_desc: Use image node_id 4 for calling a global function with example usage: test_sample_weighted() without return types