diff --git a/matchy.py b/matchy.py index 0f47385..77dcb77 100755 --- a/matchy.py +++ b/matchy.py @@ -134,5 +134,6 @@ def group_to_message(group: list[discord.Member]) -> str: return f"Matched up {mentions}!" -handler = logging.StreamHandler() -bot.run(config.TOKEN, log_handler=handler, root_logger=True) +if __name__ == "__main__": + handler = logging.StreamHandler() + bot.run(config.TOKEN, log_handler=handler, root_logger=True) diff --git a/matchy_test.py b/matchy_test.py new file mode 100644 index 0000000..14ad910 --- /dev/null +++ b/matchy_test.py @@ -0,0 +1,21 @@ +""" + Test functions for Matchy +""" +import discord +import pytest +import matchy + + +@pytest.mark.parametrize("matchees, per_group", [ + ([discord.Member.__new__(discord.Member)] * 100, 3), + ([discord.Member.__new__(discord.Member)] * 12, 5), + ([discord.Member.__new__(discord.Member)] * 11, 2), + ([discord.Member.__new__(discord.Member)] * 356, 8), +]) +def test_matchees_to_groups(matchees, per_group): + """Test simple group matching works""" + groups = matchy.matchees_to_groups(matchees, per_group) + for group in groups: + # Ensure the group contains the right number of members + assert len(group) >= per_group + assert len(group) < per_group*2