mjAi/tests/test_scoring.py

20 lines
757 B
Python

import pytest
from src import calculate_score
@pytest.mark.parametrize("fan, is_self_draw, base_score, expected_scores", [
# 测试用例 1: 自摸,总番数 3
(3, True, 5, {"winner": 120, "loser": [-40, -40, -40]}),
# 测试用例 2: 点炮,总番数 2
(2, False, 5, {"winner": 20, "loser": [-20, 0, 0]}),
# 测试用例 3: 自摸,总番数 4
(4, True, 5, {"winner": 240, "loser": [-80, -80, -80]}),
# 测试用例 4: 点炮,总番数 1
(1, False, 5, {"winner": 10, "loser": [-10, 0, 0]}),
])
def test_calculate_score(fan, is_self_draw, base_score, expected_scores):
scores = calculate_score(fan, base_score, is_self_draw)
assert scores == expected_scores, f"测试失败: {scores} != {expected_scores}"