def test_bag_alignment_is_optimal(self):
     assert get_metric_drop(
         ["Thomas Jefferson", "Thomas Davidson Arquette"],
         [["David Thomas", "Thomas Jefferson"]]) == (0.0, 0.7)
     assert get_metric_drop(["Thomas David Arquette"],
                            [["David Thomas", "Thomas Jefferson"]]) == (0.0,
                                                                        0.4)
 def test_span_order_is_ignored(self):
     assert get_metric_drop(["athlete", "unprofessional"],
                            [["unprofessional", "athlete"]]) == (
                                1.0,
                                1.0,
                            )
     assert get_metric_drop(
         ["algebra", "arithmetic"],
         [["arithmetic", "algebra", "geometry"]]) == (0.0, 0.67)
 def test_long_answers(self):
     assert (get_metric_drop(
         "David Thomas",
         [
             "Thomas David Arquette Thomas David Arquette Thomas \
                 David Arquette Thomas David Arquette"
         ],
     ) == (0.0, 0.8))
 def test_long_gold_spans(self):
     assert get_metric_drop(
         ["Thomas David Arquette"],
         [["David Thomas was eating an apple and fell to the ground"]
          ]) == (0.0, 0.33)
 def test_multiple_gold_spans(self):
     assert get_metric_drop(
         ["Thomas David Arquette"],
         [["David Thomas"], ["Thomas Jefferson"], ["David Thomas"],
          ["Thomas David"]],
     ) == (0.0, 0.8)
 def test_word_order_is_not_ignored(self):
     assert get_metric_drop(["athlete unprofessional"],
                            [["unprofessional athlete"]]) == (
                                0.0,
                                1.0,
                            )
 def test_casing_is_ignored(self):
     assert get_metric_drop("This was a triumph",
                            ["tHIS Was A TRIUMPH"]) == (1.0, 1.0)
 def test_articles_are_ignored(self):
     assert get_metric_drop("td", ["the td"]) == (1.0, 1.0)
     assert get_metric_drop("the a NOT an ARTICLE the an a",
                            ["NOT ARTICLE"]) == (1.0, 1.0)