# Path: hgvs/exceptions.py
# class HGVSError(Exception):
#     pass
# 
# class HGVSUnsupportedOperationError(HGVSError):
#     pass
# 
# class HGVSInvalidVariantError(HGVSError):
#     """Exception raised when variant is inconsistent or invalid"""
#     pass


import os
import unittest
import pytest
import hgvs.dataproviders.uta
import hgvs.variantmapper
import hgvs.parser
import hgvs.normalizer
from hgvs.exceptions import HGVSError, HGVSUnsupportedOperationError, HGVSInvalidVariantError
from support import CACHE
            "NM_000051.3:c.-3_-2dup")
        self.assertEqual(
            str(self.norm.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.-2_-1insCA"))),
            "NM_000051.3:c.-1_1dup")

        self.assertEqual(
            str(self.normc.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.-2_-1insCA"))),
            "NM_000051.3:c.-1_1insAC")

        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.-4_-3insA"))),
            "NM_000051.3:c.-4dup")
        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.1_2insCA"))),
            "NM_000051.3:c.-1_1dup")

        self.assertEqual(
            str(self.norm.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.*2_*3insT"))),
            "NM_000051.3:c.*4dup")
        self.assertEqual(
            str(self.norm.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.9170_9171insAT"))),
            "NM_000051.3:c.9171_*1dup")

        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.*4_*5insT"))),
            "NM_000051.3:c.*3dup")
        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.9171_*1insA"))),
            "NM_000051.3:c.9171dup")


# Path: hgvs/exceptions.py
# class HGVSError(Exception):
#     pass
# 
# class HGVSUnsupportedOperationError(HGVSError):
#     pass
# 
# class HGVSInvalidVariantError(HGVSError):
#     """Exception raised when variant is inconsistent or invalid"""
#     pass


# Path: tests/test_hgvs_normalizer.py
import os
import unittest
import pytest
import hgvs.dataproviders.uta
import hgvs.variantmapper
import hgvs.parser
import hgvs.normalizer
from hgvs.exceptions import HGVSError, HGVSUnsupportedOperationError, HGVSInvalidVariantError
from support import CACHE

            "NM_000051.3:c.-3_-2dup")
        self.assertEqual(
            str(self.norm.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.-2_-1insCA"))),
            "NM_000051.3:c.-1_1dup")

        self.assertEqual(
            str(self.normc.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.-2_-1insCA"))),
            "NM_000051.3:c.-1_1insAC")

        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.-4_-3insA"))),
            "NM_000051.3:c.-4dup")
        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.1_2insCA"))),
            "NM_000051.3:c.-1_1dup")

        self.assertEqual(
            str(self.norm.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.*2_*3insT"))),
            "NM_000051.3:c.*4dup")
        self.assertEqual(
            str(self.norm.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.9170_9171insAT"))),
            "NM_000051.3:c.9171_*1dup")

        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.*4_*5insT"))),
            "NM_000051.3:c.*3dup")
        self.assertEqual(
            str(self.norm5.normalize(self.hp.parse_hgvs_variant("NM_000051.3:c.9171_*1insA"))),
            "NM_000051.3:c.9171dup")


        with self.assertRaises(HGVSInvalidVariantError):