# Path: hgvs/enums.py

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


import unittest
import pytest
import hgvs.edit
import hgvs.location
from hgvs.enums import Datum
from hgvs.exceptions import HGVSError
        self.assertEqual(str(hgvs.edit.AAExt("A", None, None, -5)), "ext-5")
        # edit types
        self.assertEqual(str(hgvs.edit.AAExt("A", "V", "*", 10).type), "ext")
        self.assertEqual(str(hgvs.edit.AAExt("A", "V", None, -10).type), "ext")
        self.assertEqual(str(hgvs.edit.AAExt("A", None, None, -5).type), "ext")

    def test_Dup(self):
        self.assertEqual(str(hgvs.edit.Dup()), "dup")
        self.assertEqual(hgvs.edit.Dup("T").format(conf={'max_ref_length': None}), "dupT")
        # edit types
        self.assertEqual(str(hgvs.edit.Dup().type), "dup")
        self.assertEqual(str(hgvs.edit.Dup("T").type), "dup")

    def test_Repeat(self):
        self.assertEqual(
            hgvs.edit.Repeat("CAG", 12, 34).format(conf={'max_ref_length': None}), "CAG(12_34)")
        # edit types
        self.assertEqual(str(hgvs.edit.Repeat("CAG", 12, 34).type), "repeat")

    def test_Repeat_exceptions(self):
        with self.assertRaises(HGVSError):
            edit = str(hgvs.edit.Repeat("CAG", 34, 12))

    def test_Inv(self):
        self.assertEqual(str(hgvs.edit.Inv()), "inv")
        # edit types
        self.assertEqual(str(hgvs.edit.Inv().type), "inv")

    def test_Conv(self):
        start = hgvs.location.BaseOffsetPosition(base=61, offset=-6, datum=Datum.CDS_START)

# Path: hgvs/enums.py

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


# Path: tests/test_hgvs_edit.py
import unittest
import pytest
import hgvs.edit
import hgvs.location
from hgvs.enums import Datum
from hgvs.exceptions import HGVSError

        self.assertEqual(str(hgvs.edit.AAExt("A", None, None, -5)), "ext-5")
        # edit types
        self.assertEqual(str(hgvs.edit.AAExt("A", "V", "*", 10).type), "ext")
        self.assertEqual(str(hgvs.edit.AAExt("A", "V", None, -10).type), "ext")
        self.assertEqual(str(hgvs.edit.AAExt("A", None, None, -5).type), "ext")

    def test_Dup(self):
        self.assertEqual(str(hgvs.edit.Dup()), "dup")
        self.assertEqual(hgvs.edit.Dup("T").format(conf={'max_ref_length': None}), "dupT")
        # edit types
        self.assertEqual(str(hgvs.edit.Dup().type), "dup")
        self.assertEqual(str(hgvs.edit.Dup("T").type), "dup")

    def test_Repeat(self):
        self.assertEqual(
            hgvs.edit.Repeat("CAG", 12, 34).format(conf={'max_ref_length': None}), "CAG(12_34)")
        # edit types
        self.assertEqual(str(hgvs.edit.Repeat("CAG", 12, 34).type), "repeat")

    def test_Repeat_exceptions(self):
        with self.assertRaises(HGVSError):
            edit = str(hgvs.edit.Repeat("CAG", 34, 12))

    def test_Inv(self):
        self.assertEqual(str(hgvs.edit.Inv()), "inv")
        # edit types
        self.assertEqual(str(hgvs.edit.Inv().type), "inv")

    def test_Conv(self):
        start = hgvs.location.BaseOffsetPosition(base=61, offset=-6, datum=Datum.CDS_START)

        end = hgvs.location.BaseOffsetPosition(base=22, datum=Datum.CDS_END)