code: def test_sequence_f1(self):
      self.assertEqual(metrics._sequence_f1([], []), 1.0)
      self.assertEqual(metrics._sequence_f1([], ["cat"]), 0.0)
      self.assertEqual(metrics._sequence_f1(["cat"], []), 0.0)
      self.assertEqual(metrics._sequence_f1(["dog"], ["cat"]), 0.0)
      self.assertAlmostEqual(
          metrics._sequence_f1(["cat", "dog"], ["cat"]), 2 / 3
      )
      self.assertAlmostEqual(
          metrics._sequence_f1(["cat"], ["cat", "dog"]), 2 / 3
      )
  
imports: from unittest import mock
  from absl.testing import absltest
  import numpy
  import seqio
  import sklearn.metrics
  from t5.evaluation import metrics
  from t5.evaluation import test_utils
label_desc: Use image node_id 36 for calling the MetricsTest obj's underlying member method code with example usage: obj.test_sequence_f1() without return types