def METHOD_NAME(self):
    """Test GOA GAF file iterator."""
    # Test GAF 2.0
    recs = []
    with open("UniProt/goa_yeast.gaf") as handle:
        for rec in GOA.gafiterator(handle):
            recs.append(rec)
    # Check number of records
    self.assertEqual(len(recs), 587)
    # Check keys are same as predefined fields
    self.assertEqual(sorted(recs[0].keys()), sorted(GOA.GAF20FIELDS))
    # Check values of first record
    self.assertEqual(recs[0]["DB"], "UniProtKB")
    self.assertEqual(recs[0]["DB_Object_ID"], "A0A023PXA5")
    self.assertEqual(recs[0]["DB_Object_Symbol"], "YAL019W-A")
    self.assertEqual(recs[0]["Qualifier"], [""])
    self.assertEqual(recs[0]["GO_ID"], "GO:0003674")
    self.assertEqual(recs[0]["DB:Reference"], ["GO_REF:0000015"])
    self.assertEqual(recs[0]["Evidence"], "ND")
    self.assertEqual(recs[0]["With"], [""])
    # Test GAF 2.1, it has the same fields as GAF 2.0
    recs = []
    with open("UniProt/gene_association.goa_yeast.1.gaf") as handle:
        for rec in GOA.gafiterator(handle):
            recs.append(rec)
    # Check number of records
    self.assertEqual(len(recs), 300)
    # Check keys are same as predefined fields
    self.assertEqual(sorted(recs[0].keys()), sorted(GOA.GAF20FIELDS))
    # Check values of first record
    self.assertEqual(recs[0]["DB"], "UniProtKB")
    self.assertEqual(recs[0]["DB_Object_ID"], "P17536")
    self.assertEqual(recs[0]["DB_Object_Symbol"], "TPM1")
    self.assertEqual(recs[0]["Qualifier"], [""])
    self.assertEqual(recs[0]["GO_ID"], "GO:0000001")
    self.assertEqual(recs[0]["DB:Reference"], ["PMID:10652251"])
    self.assertEqual(recs[0]["Evidence"], "TAS")
    self.assertEqual(recs[0]["With"], [""])