# Path: dataproperty/_align.py
# class Align(enum.Enum):
#     AUTO = (1 << 0, "auto")
#     LEFT = (1 << 1, "left")
#     RIGHT = (1 << 2, "right")
#     CENTER = (1 << 3, "center")
# 
#     @property
#     def align_code(self) -> int:
#         return self.__align_code
# 
#     @property
#     def align_string(self) -> str:
#         return self.__align_string
# 
#     def __init__(self, code: int, string: str):
#         self.__align_code = code
#         self.__align_string = string
# 
# Path: dataproperty/_align_getter.py
# class AlignGetter:
#     @property
#     def typecode_align_table(self):
#         raise NotImplementedError()
# 
#     @typecode_align_table.setter
#     def typecode_align_table(self, x):
#         self.__typecode_align_table = x
# 
#     def get_align_from_typecode(self, typecode):
#         # pytype: disable=attribute-error
#         return self.__typecode_align_table.get(typecode, self.default_align)
#         # pytype: enable=attribute-error
# 
#     def __init__(self):
#         self.typecode_align_table = {
#             Typecode.STRING: Align.LEFT,
#             Typecode.INTEGER: Align.RIGHT,
#             Typecode.REAL_NUMBER: Align.RIGHT,
#         }
#         self.default_align = Align.LEFT


import pytest
from typepy import Typecode
from dataproperty import Align
from dataproperty._align_getter import AlignGetter
            [Typecode.NONE, Align.LEFT],
        ],
    )
    def test_normal(self, align_getter, value, expected):
        assert align_getter.get_align_from_typecode(value) == expected

    @pytest.mark.parametrize(
        ["value", "expected"],
        [
            [Typecode.STRING, Align.RIGHT],
            [Typecode.INTEGER, Align.LEFT],
            [Typecode.REAL_NUMBER, Align.CENTER],
            [Typecode.NONE, Align.LEFT],
        ],
    )
    def test_setter(self, align_getter, value, expected):
        align_getter.typecode_align_table = {
            Typecode.STRING: Align.RIGHT,
            Typecode.INTEGER: Align.LEFT,
            Typecode.REAL_NUMBER: Align.CENTER,
        }

        assert align_getter.get_align_from_typecode(value) == expected

    @pytest.mark.parametrize(
        ["value", "expected"],
        [
            [Typecode.STRING, Align.LEFT],
            [Typecode.INTEGER, Align.RIGHT],
            [Typecode.REAL_NUMBER, Align.RIGHT],

# Path: dataproperty/_align.py
# class Align(enum.Enum):
#     AUTO = (1 << 0, "auto")
#     LEFT = (1 << 1, "left")
#     RIGHT = (1 << 2, "right")
#     CENTER = (1 << 3, "center")
# 
#     @property
#     def align_code(self) -> int:
#         return self.__align_code
# 
#     @property
#     def align_string(self) -> str:
#         return self.__align_string
# 
#     def __init__(self, code: int, string: str):
#         self.__align_code = code
#         self.__align_string = string
# 
# Path: dataproperty/_align_getter.py
# class AlignGetter:
#     @property
#     def typecode_align_table(self):
#         raise NotImplementedError()
# 
#     @typecode_align_table.setter
#     def typecode_align_table(self, x):
#         self.__typecode_align_table = x
# 
#     def get_align_from_typecode(self, typecode):
#         # pytype: disable=attribute-error
#         return self.__typecode_align_table.get(typecode, self.default_align)
#         # pytype: enable=attribute-error
# 
#     def __init__(self):
#         self.typecode_align_table = {
#             Typecode.STRING: Align.LEFT,
#             Typecode.INTEGER: Align.RIGHT,
#             Typecode.REAL_NUMBER: Align.RIGHT,
#         }
#         self.default_align = Align.LEFT


# Path: test/test_align_getter.py
import pytest
from typepy import Typecode
from dataproperty import Align
from dataproperty._align_getter import AlignGetter

            [Typecode.NONE, Align.LEFT],
        ],
    )
    def test_normal(self, align_getter, value, expected):
        assert align_getter.get_align_from_typecode(value) == expected

    @pytest.mark.parametrize(
        ["value", "expected"],
        [
            [Typecode.STRING, Align.RIGHT],
            [Typecode.INTEGER, Align.LEFT],
            [Typecode.REAL_NUMBER, Align.CENTER],
            [Typecode.NONE, Align.LEFT],
        ],
    )
    def test_setter(self, align_getter, value, expected):
        align_getter.typecode_align_table = {
            Typecode.STRING: Align.RIGHT,
            Typecode.INTEGER: Align.LEFT,
            Typecode.REAL_NUMBER: Align.CENTER,
        }

        assert align_getter.get_align_from_typecode(value) == expected

    @pytest.mark.parametrize(
        ["value", "expected"],
        [
            [Typecode.STRING, Align.LEFT],
            [Typecode.INTEGER, Align.RIGHT],
            [Typecode.REAL_NUMBER, Align.RIGHT],

            [Typecode.NONE, Align.CENTER],