# Path: hgvs/exceptions.py
# class HGVSDataNotAvailableError(HGVSError):
#     pass


import itertools
import re
import unittest
import hgvs.dataproviders.uta
import hgvs.edit
import hgvs.parser
import hgvs.sequencevariant
import hgvs.variantmapper
from hgvs.exceptions import HGVSDataNotAvailableError
from six.moves import map
            [v.ac for v in binned_variants["g"]]), "variants have multiple alignments"

        # g -> t: for each g., map to each transcript accession.
        for g_var in binned_variants["g"]:
            for t_var in binned_variants["t"]:
                try:
                    r = self.vm.g_to_t(g_var, t_var.ac)
                except HGVSDataNotAvailableError:
                    continue
                if t_var != r:
                    return "g_to_t({g_var},{t_var.ac}): got {r}; expected {t_var}".format(
                        g_var=g_var, t_var=t_var, r=r)

        # t -> g: for each t., map to each genomic accession
        for t_var in binned_variants["t"]:
            for g_var in binned_variants["g"]:
                try:
                    r = self.vm.t_to_g(t_var, g_var.ac)
                except HGVSDataNotAvailableError:
                    continue
                if g_var != r:
                    return "t_to_g({t_var},{g_var.ac}): got {r}; expected {g_var}".format(
                        g_var=g_var, t_var=t_var, r=r)

        # c -> p: for each c., map to a protein variant and check whether it's in result set

        if binned_variants["p"]:
            for c_var in binned_variants["c"]:
                try:
                    r = self.vm.c_to_p(c_var)

# Path: hgvs/exceptions.py
# class HGVSDataNotAvailableError(HGVSError):
#     pass


# Path: tests/support/crosschecker.py
import itertools
import re
import unittest
import hgvs.dataproviders.uta
import hgvs.edit
import hgvs.parser
import hgvs.sequencevariant
import hgvs.variantmapper
from hgvs.exceptions import HGVSDataNotAvailableError
from six.moves import map

            [v.ac for v in binned_variants["g"]]), "variants have multiple alignments"

        # g -> t: for each g., map to each transcript accession.
        for g_var in binned_variants["g"]:
            for t_var in binned_variants["t"]:
                try:
                    r = self.vm.g_to_t(g_var, t_var.ac)
                except HGVSDataNotAvailableError:
                    continue
                if t_var != r:
                    return "g_to_t({g_var},{t_var.ac}): got {r}; expected {t_var}".format(
                        g_var=g_var, t_var=t_var, r=r)

        # t -> g: for each t., map to each genomic accession
        for t_var in binned_variants["t"]:
            for g_var in binned_variants["g"]:
                try:
                    r = self.vm.t_to_g(t_var, g_var.ac)
                except HGVSDataNotAvailableError:
                    continue
                if g_var != r:
                    return "t_to_g({t_var},{g_var.ac}): got {r}; expected {g_var}".format(
                        g_var=g_var, t_var=t_var, r=r)

        # c -> p: for each c., map to a protein variant and check whether it's in result set

        if binned_variants["p"]:
            for c_var in binned_variants["c"]:
                try:
                    r = self.vm.c_to_p(c_var)

                except HGVSDataNotAvailableError: