def test_span_squad(self):
   ref = "a string"
   ans_span = "start:2 end:3"
   context = "this is a string! it has the answer."
   self.assertDictClose(
       metrics.span_squad(
           [{"answers": ["", ref], "context": context},
            {"answers": [ref, ref], "context": context}],
           [ans_span, ans_span]),
       {"em": 100, "f1": 100})
  def test_span_squad_one_word(self):
    ref = "answer"
    ans_span = "start:1 end:1"
    context = "the answer"

    self.assertDictClose(
        metrics.span_squad([{
            "answers": [ref],
            "context": context
        }], [ans_span]), {"em": 100, "f1": 100})
  def test_span_squad_non_numbers(self):

    ref = "answer"
    ans_span = "start:test end:why"
    context = "the answer"

    self.assertDictClose(
        metrics.span_squad([{
            "answers": [ref],
            "context": context
        }], [ans_span]), {"em": 0, "f1": 0})