code: def test_exact_match():
      predictions = pd.Series(["sentence not", "random text", "a", "c"])
      targets = pd.Series(["sentence not", "random text", "a", "c"])
  
      result = exact_match().eval_fn(predictions, targets, {})
      assert result.aggregate_results["exact_match"] == 1.0
  
      predictions = pd.Series(["not sentence", "random text", "b", "c"])
      targets = pd.Series(["sentence not", "random text", "a", "c"])
      result = exact_match().eval_fn(predictions, targets, {})
      assert result.aggregate_results["exact_match"] == 0.5
  
imports: from unittest import mock
  import pandas
  import pytest
  from mlflow.metrics import MetricValue, ari_grade_level, exact_match, f1_score, flesch_kincaid_grade_level, mae, mape, max_error, mse, ndcg_at_k, precision_at_k, precision_score, r2_score, recall_at_k, recall_score, rmse, rouge1, rouge2, rougeL, rougeLsum, toxicity
label_desc: Use image node_id 6 for calling a global function with example usage: test_exact_match() without return types