# Path: ulid/providers/base.py
# class Provider(metaclass=abc.ABCMeta):
#     def new(self) -> TimestampRandomnessBytes:
#     def timestamp(self) -> hints.Bytes:
#     def randomness(self, timestamp: hints.Bytes) -> hints.Bytes:


import inspect
from ulid.providers import base
"""
    test_providers_base
    ~~~~~~~~~~~~~~~~~~~

    Tests for the :mod:`~ulid.providers.base` module.
"""



def test_provider_is_abstract():
    """
    Assert that :class:`~ulid.providers.base.Provider` is an abstract class.
    """

# Path: ulid/providers/base.py
# class Provider(metaclass=abc.ABCMeta):
#     def new(self) -> TimestampRandomnessBytes:
#     def timestamp(self) -> hints.Bytes:
#     def randomness(self, timestamp: hints.Bytes) -> hints.Bytes:


# Path: tests/test_providers_base.py
import inspect
from ulid.providers import base

"""
    test_providers_base
    ~~~~~~~~~~~~~~~~~~~

    Tests for the :mod:`~ulid.providers.base` module.
"""



def test_provider_is_abstract():
    """
    Assert that :class:`~ulid.providers.base.Provider` is an abstract class.
    """

    assert inspect.isabstract(base.Provider)