# 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 list(Suit) == list(tuple(Suit))


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


def test_suits_are_singletons():
    assert Suit("c") is Suit.CLUBS
    assert Suit("c") is Suit("c")
    assert Suit("c") is Suit("♣")

    assert Suit("s") is Suit.SPADES


def test_make_random_is_instance_of_Suit():
    assert isinstance(Suit.make_random(), Suit)


def test_hash():
    assert hash(Suit.CLUBS) == hash(Suit("c")) == hash(Suit("C")) == hash(Suit("♣"))

    assert hash(Suit.SPADES) == hash(Suit("s"))



# 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 list(Suit) == list(tuple(Suit))


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


def test_suits_are_singletons():
    assert Suit("c") is Suit.CLUBS
    assert Suit("c") is Suit("c")
    assert Suit("c") is Suit("♣")

    assert Suit("s") is Suit.SPADES


def test_make_random_is_instance_of_Suit():
    assert isinstance(Suit.make_random(), Suit)


def test_hash():
    assert hash(Suit.CLUBS) == hash(Suit("c")) == hash(Suit("C")) == hash(Suit("♣"))

    assert hash(Suit.SPADES) == hash(Suit("s"))



def test_putting_them_in_set_doesnt_raise_Exception():