Я делаю простую игру Connect 4 на python и использую pygame для GUI, но не могу найти способ написать модульный тест для того же
Вот ссылка на мой скрипт на питоне скрипт
Ссылка на мой проект
Для метода вроде
def play(self, board, players, is_valid_move, make_move, is_winning_move):
"""Method to play the game in GUI using pygame
Note:
When playing with AI a mouse click is required to trigger AI move
Args:
board (numpy.ndarray): Game board
players (list): List of players
is_valid_move (function): Move validator
make_move (function): Makes move
is_winning_move (function): Ckeck for winning move"""
turn = random.randint(0, len(players) - 1)
while True:
self.draw(board)
for event in pygame.event.get():
if event.type == pygame.QUIT:
return None
if event.type == pygame.MOUSEMOTION:
self.draw_black_rec()
self.draw_player_coin(players[turn].p_id, event)
pygame.display.update()
if event.type == pygame.MOUSEBUTTONDOWN:
self.draw_black_rec()
if players[turn].name == "AI":
col = players[turn].get_move()
if is_valid_move(col):
row = make_move(col, players[turn].p_id)
turn = (turn + 1) % len(players)
Я ожидаю написать unittest, тестирующий вышеуказанную функциональность, он также будет работать, если я не смогу протестировать весь метод только его часть.