# Path: fimfarchive/flavors.py
# class Flavor(Enum):
#     """
#     Base class for flavors.
#     """
# 
#     def __new__(cls, *args):
#         """
#         Automatically assigns an enum value.
#         """
#         value = len(cls.__members__) + 1
#         obj = object.__new__(cls)
#         obj._value_ = value
#         return obj
# 
#     def __repr__(self):
#         """
#         Custom representation for instances.
#         """
#         return "<flavor '{}.{}'>".format(
#             type(self).__name__,
#             getattr(self, 'name', None),
#         )


from fimfarchive.flavors import Flavor
class TestFlavor:
    """
    Flavor tests.
    """

    def assert_flavor(self, flavor):
        """
        Asserts for standard flavor behavior.

        Args:
            flavor: Flavor class with A and B members.
        """
        a = flavor.A
        b = flavor.B

        assert type(a) == flavor
        assert type(b) == flavor
        assert a.value == 1
        assert b.value == 2
        assert a is flavor.A
        assert b is flavor.B
        assert a is not b
        assert a != b
        assert a in {a}
        assert b not in {a}

    def test_flavor_with_empty_values(self):
        """
        Tests generated flavor values.
        """

# Path: fimfarchive/flavors.py
# class Flavor(Enum):
#     """
#     Base class for flavors.
#     """
# 
#     def __new__(cls, *args):
#         """
#         Automatically assigns an enum value.
#         """
#         value = len(cls.__members__) + 1
#         obj = object.__new__(cls)
#         obj._value_ = value
#         return obj
# 
#     def __repr__(self):
#         """
#         Custom representation for instances.
#         """
#         return "<flavor '{}.{}'>".format(
#             type(self).__name__,
#             getattr(self, 'name', None),
#         )


# Path: tests/test_flavors.py
from fimfarchive.flavors import Flavor

class TestFlavor:
    """
    Flavor tests.
    """

    def assert_flavor(self, flavor):
        """
        Asserts for standard flavor behavior.

        Args:
            flavor: Flavor class with A and B members.
        """
        a = flavor.A
        b = flavor.B

        assert type(a) == flavor
        assert type(b) == flavor
        assert a.value == 1
        assert b.value == 2
        assert a is flavor.A
        assert b is flavor.B
        assert a is not b
        assert a != b
        assert a in {a}
        assert b not in {a}

    def test_flavor_with_empty_values(self):
        """
        Tests generated flavor values.
        """

        class MyFlavor(Flavor):