code: def testGroupByPivot_EmptyPivot(self):
      a, b = self._prepare_tfx_artifacts(2)
      self._put_lineage(a, b)
      inputs = {"a": [a], "b": [b], "c": []}
  
      with self.subTest("Empty pivot"):
          result = self._group_by_pivot(inputs, pivot_key="c")
          self.assertEmpty(result)
  
      with self.subTest("Non-empty pivot"):
          result = self._group_by_pivot(inputs, pivot_key="a")
          self.assertEqual(result, [{"a": [a], "b": [b], "c": []}])
  
imports: import random
  from absl.testing import parameterized
  import tensorflow
  from tfx.dsl.input_resolution.ops import group_by_lineage_op
  from tfx.dsl.input_resolution.ops import test_utils
  from tfx.orchestration.portable.input_resolution import exceptions
  from tfx.types import artifact_utils
  from tfx.utils import test_case_utils
label_desc: Use image node_id 5 for calling the GroupByPivotTest obj's underlying member method code with example usage: obj.testGroupByPivot_EmptyPivot() without return types