aboutsummaryrefslogtreecommitdiff
path: root/src/match_up/tests/__init__.py
blob: 4dbd88304f3863b28eb9fa79a3c0eebd3a5581e7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from os import remove
from os.path import isfile
from random import randint
from pathlib import PurePath
from names import get_first_name, get_last_name
from match_up.model import Player, PlayerDatabase

TEST_DATABASE_LOCATION = PurePath("test_storage.json")
MIN_SKILL = 1
MAX_SKILL = 10


def generate_test_database(total_players: int = 20) -> None:
    try:
        if isfile(TEST_DATABASE_LOCATION):
            remove_test_database()
        db = PlayerDatabase(TEST_DATABASE_LOCATION)
        for _ in range(total_players):
            db.add_player(
                Player(
                    first_name=get_first_name(),
                    last_name=get_last_name(),
                    skill=randint(MIN_SKILL, MAX_SKILL),
                )
            )
    finally:
        db.close()


def activate_random_players(activate_players: int = 17) -> None:
    try:
        db = PlayerDatabase(TEST_DATABASE_LOCATION)
        player_list = db.get_players()
        for index, player in enumerate(player_list):
            if index < activate_players:
                db.activate_player(player)
    finally:
        db.close()


def remove_test_database() -> None:
    remove(TEST_DATABASE_LOCATION)