# Path: phial/wrappers.py
# class Message:
#     """
#     A representation of a Slack message.
# 
#     :param text: The message contents
#     :param channel: The Slack channel ID the message was sent from
#     :param user: The user who sent the message
#     :param timestamp: The message's timestamp
#     :param team: The Team ID of the Slack workspace the message was
#                  sent from
#     :param bot_id: If the message was sent by a bot
#                    the ID of that bot. Defaults to None.
#     """
# 
#     def __init__(
#         self,
#         text: str,
#         channel: str,
#         user: str,
#         timestamp: str,
#         team: Optional[str],
#         bot_id: Optional[str] = None,
#     ) -> None:
#         self.text = text
#         self.channel = channel
#         self.user = user
#         self.timestamp = timestamp
#         self.team = team
#         self.bot_id = bot_id
# 
#     def __repr__(self) -> str:
#         return "<Message: {0} in {1}:{2} at {3}>".format(
#             self.text, self.channel, self.team, self.timestamp
#         )
# 
#     def __eq__(self, other: object) -> bool:
#         return self.__dict__ == other.__dict__


from phial import Message
"""Test Message class."""


def test_message_equality() -> None:
    """Assert Message equality works."""
    message_one = Message("text", "channel", "user", "timestamp", "team", "bot_id")
    message_two = Message("text", "channel", "user", "timestamp", "team", "bot_id")

    assert message_one == message_two


def test_message_equality_fails() -> None:
    """Assert Message equality fails."""
    message_one = Message("text", "channel", "user", "timestamp", "team", "bot_id")
    message_two = Message("text2", "channel", "user", "timestamp", "team", "bot_id")

    assert message_one != message_two


def test_response_repr() -> None:
    """Assert Message repr works."""

# Path: phial/wrappers.py
# class Message:
#     """
#     A representation of a Slack message.
# 
#     :param text: The message contents
#     :param channel: The Slack channel ID the message was sent from
#     :param user: The user who sent the message
#     :param timestamp: The message's timestamp
#     :param team: The Team ID of the Slack workspace the message was
#                  sent from
#     :param bot_id: If the message was sent by a bot
#                    the ID of that bot. Defaults to None.
#     """
# 
#     def __init__(
#         self,
#         text: str,
#         channel: str,
#         user: str,
#         timestamp: str,
#         team: Optional[str],
#         bot_id: Optional[str] = None,
#     ) -> None:
#         self.text = text
#         self.channel = channel
#         self.user = user
#         self.timestamp = timestamp
#         self.team = team
#         self.bot_id = bot_id
# 
#     def __repr__(self) -> str:
#         return "<Message: {0} in {1}:{2} at {3}>".format(
#             self.text, self.channel, self.team, self.timestamp
#         )
# 
#     def __eq__(self, other: object) -> bool:
#         return self.__dict__ == other.__dict__


# Path: tests/wrappers/test_message.py
from phial import Message

"""Test Message class."""


def test_message_equality() -> None:
    """Assert Message equality works."""
    message_one = Message("text", "channel", "user", "timestamp", "team", "bot_id")
    message_two = Message("text", "channel", "user", "timestamp", "team", "bot_id")

    assert message_one == message_two


def test_message_equality_fails() -> None:
    """Assert Message equality fails."""
    message_one = Message("text", "channel", "user", "timestamp", "team", "bot_id")
    message_two = Message("text2", "channel", "user", "timestamp", "team", "bot_id")

    assert message_one != message_two


def test_response_repr() -> None:
    """Assert Message repr works."""

    message = Message("text", "channel", "user", "timestamp", "team", "bot_id")