# Path: poker/card.py
# class Suit(PokerEnum):
#     CLUBS = "♣", "c", "clubs"
#     DIAMONDS = "♦", "d", "diamonds"
#     HEARTS = "♥", "h", "hearts"
#     SPADES = "♠", "s", "spades"
#     # Can't make alias with redefined value property
#     # because of a bug in stdlib enum module (line 162)
#     # C = '♣', 'c', 'C', 'clubs'


import pytest
from poker.card import Suit
    assert str(Suit("h")) == "♥"
    assert str(Suit("s")) == "♠"


def test_repr():
    assert repr(Suit("c")) == "Suit('♣')"
    assert repr(Suit("d")) == "Suit('♦')"
    assert repr(Suit("h")) == "Suit('♥')"
    assert repr(Suit("s")) == "Suit('♠')"


def test_passing_Suit_instance_to__init__():
    s1 = Suit("c")
    s2 = Suit(s1)
    assert s1 == s2
    assert s1 is s2
    assert id(s1) == id(s2)
    assert repr(s1) == "Suit('♣')"
    assert repr(s2) == "Suit('♣')"
    assert isinstance(repr(s1), str)
    assert isinstance(repr(s2), str)


def test_class_is_iterable():
    assert list(Suit) == [Suit("♣"), Suit("♦"), Suit("♥"), Suit("♠")]
    assert list(Suit) == list(tuple(Suit))


def test_class_variables_are_comparable():
    assert Suit.CLUBS < Suit.DIAMONDS

# Path: poker/card.py
# class Suit(PokerEnum):
#     CLUBS = "♣", "c", "clubs"
#     DIAMONDS = "♦", "d", "diamonds"
#     HEARTS = "♥", "h", "hearts"
#     SPADES = "♠", "s", "spades"
#     # Can't make alias with redefined value property
#     # because of a bug in stdlib enum module (line 162)
#     # C = '♣', 'c', 'C', 'clubs'


# Path: tests/test_suit.py
import pytest
from poker.card import Suit

    assert str(Suit("h")) == "♥"
    assert str(Suit("s")) == "♠"


def test_repr():
    assert repr(Suit("c")) == "Suit('♣')"
    assert repr(Suit("d")) == "Suit('♦')"
    assert repr(Suit("h")) == "Suit('♥')"
    assert repr(Suit("s")) == "Suit('♠')"


def test_passing_Suit_instance_to__init__():
    s1 = Suit("c")
    s2 = Suit(s1)
    assert s1 == s2
    assert s1 is s2
    assert id(s1) == id(s2)
    assert repr(s1) == "Suit('♣')"
    assert repr(s2) == "Suit('♣')"
    assert isinstance(repr(s1), str)
    assert isinstance(repr(s2), str)


def test_class_is_iterable():
    assert list(Suit) == [Suit("♣"), Suit("♦"), Suit("♥"), Suit("♠")]
    assert list(Suit) == list(tuple(Suit))


def test_class_variables_are_comparable():
    assert Suit.CLUBS < Suit.DIAMONDS

    assert Suit.CLUBS < Suit.HEARTS