code: def _set_union(self, a, b):
      # Validate that we get the same results with or without `validate_indices`,
      # and with a & b swapped.
      ops = (
          sets.set_union(a, b, validate_indices=True),
          sets.set_union(a, b, validate_indices=False),
          sets.set_union(b, a, validate_indices=True),
          sets.set_union(b, a, validate_indices=False),
      )
      for op in ops:
          self._assert_static_shapes(a, op)
      return self._run_equivalent_set_ops(ops)
  
imports: from absl.testing import parameterized
  import numpy
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import errors_impl
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import gen_set_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import sets
  from tensorflow.python.ops import sparse_ops
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 45 for calling the SetOpsTest obj's underlying member method code with example usage: obj._set_union(a, b) and returns: self