code: def testEquals(self):
      left = Channel(type=_MyType)
      right = Channel(type=_MyType)
      pred = left.future().value == right.future().value
      actual_pb = pred.encode()
      self.assertEqual(
          actual_pb.operator.compare_op.op,
          placeholder_pb2.ComparisonOperator.Operation.EQUAL,
      )
  
imports: import os
  from typing import Type, TypeVar
  from absl.testing import parameterized
  import tensorflow
  from tfx.dsl.placeholder import placeholder
  from tfx.proto.orchestration import placeholder_pb2
  from tfx.types import channel_utils
  from tfx.types import standard_artifacts
  from tfx.types.artifact import Artifact
  from tfx.types.artifact import Property
  from tfx.types.artifact import PropertyType
  from tfx.types.channel import Channel
  from google.protobuf import message
  from google.protobuf import text_format
label_desc: Use image node_id 2 for calling the PredicateTest obj's underlying member method code with example usage: obj.testEquals() without return types