# Path: dataproperty/typing.py
# def normalize_type_hint(type_hint: Union[str, TypeHint]) -> TypeHint:


import pytest
from dataproperty.typing import (
    Bool,
    DateTime,
    Dictionary,
    Infinity,
    Integer,
    IpAddress,
    List,
    Nan,
    NoneType,
    NullString,
    RealNumber,
    String,
    normalize_type_hint,
)
"""
.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
"""




class Test_normalize_type_hint:
    @pytest.mark.parametrize(
        ["value", "expected"],
        [
            ["bool", Bool],
            ["datetime", DateTime],
            ["dict", Dictionary],
            ["dictionary", Dictionary],
            ["inf", Infinity],
            ["infinity", Infinity],
            ["int", Integer],
            ["int ", Integer],

# Path: dataproperty/typing.py
# def normalize_type_hint(type_hint: Union[str, TypeHint]) -> TypeHint:


# Path: test/test_typing.py
import pytest
from dataproperty.typing import (
    Bool,
    DateTime,
    Dictionary,
    Infinity,
    Integer,
    IpAddress,
    List,
    Nan,
    NoneType,
    NullString,
    RealNumber,
    String,
    normalize_type_hint,
)

"""
.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
"""




class Test_normalize_type_hint:
    @pytest.mark.parametrize(
        ["value", "expected"],
        [
            ["bool", Bool],
            ["datetime", DateTime],
            ["dict", Dictionary],
            ["dictionary", Dictionary],
            ["inf", Infinity],
            ["infinity", Infinity],
            ["int", Integer],
            ["int ", Integer],

            ["int_", Integer],