code: def test_multiple_metrics_plot_by_epochs(self):
      fig = privacy_report.plot_by_epochs(
          AttackResultsCollection(
              (self.results_epoch_10, self.results_epoch_15)
          ),
          ["AUC", "Attacker advantage"],
      )
      # extract data from figure.
      auc_data = fig.axes[0].lines[0].get_data()
      attacker_advantage_data = fig.axes[1].lines[0].get_data()
      # X axis lists epoch values
      np.testing.assert_array_equal(auc_data[0], [10, 15])
      np.testing.assert_array_equal(
          attacker_advantage_data[0], [10, 15]
      )
      # Y axis lists privacy metrics
      np.testing.assert_array_equal(auc_data[1], [0.5, 1.0])
      np.testing.assert_array_equal(
          attacker_advantage_data[1], [0, 1.0]
      )
      # Check the title
      self.assertEqual(
          fig._suptitle.get_text(), "Vulnerability per Epoch"
      )
  
imports: from absl.testing import absltest
  import numpy
  from tensorflow_privacy.privacy.privacy_tests import epsilon_lower_bound
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack import privacy_report
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import AttackResults
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import AttackResultsCollection
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import AttackType
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import DataSize
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import EpsilonLowerBoundValue
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import PrivacyReportMetadata
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import RocCurve
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import SingleAttackResult
  from tensorflow_privacy.privacy.privacy_tests.membership_inference_attack.data_structures import SingleSliceSpec
label_desc: Use image node_id 4 for calling the PrivacyReportTest obj's underlying member method code with example usage: obj.test_multiple_metrics_plot_by_epochs() without return types