code: def test_property_and_custom_property_mismatch(self):
      artifact_no_custom = DummyArtifactNoCustomArtifact()
      artifact_no_custom.num_steps = 1
      with self.subTest(name="NoCustomProperty"):
          # Checking non-custom property will return the correct value.
          results = self._equal_property_values(
              [artifact_no_custom],
              property_key="num_steps",
              property_value=1,
          )
          self.assertEmpty(results)
      with self.subTest(name="HasNonCustomProperty"):
          results = self._equal_property_values(
              [artifact_no_custom],
              property_key="num_steps",
              property_value=1,
              is_custom_property=False,
          )
          self.assertLen(results, 1)
          self.assertEqual(results[0].num_steps, 1)
  
file_path: tfx/tfx/dsl/input_resolution/ops/equal_property_values_op_test.py
imports: import tensorflow
  from tfx import v1
  from tfx.dsl.input_resolution.ops import ops
  from tfx.dsl.input_resolution.ops import test_utils
  from tfx.types import artifact
label_desc: Use image node_id 6 for calling the EqualPropertyValuesOpTest obj's underlying member method code with example usage: obj.test_property_and_custom_property_mismatch() without return types