This commit is contained in:
2024-12-01 02:58:09 +08:00
parent 227800f0e8
commit 29592cd05b
4 changed files with 192 additions and 15 deletions

View File

@@ -1,31 +1,36 @@
import pytest
from src.engine.calculate_fan import calculate_fan, is_seven_pairs, is_cleared, is_big_pairs
from src.engine.hand import Hand
from src.engine.mahjong_tile import MahjongTile
# 测试用例
def test_basic_win():
"""
测试平胡(基本胡)计分
"""
hand = [0] * 108
# 模拟平胡手牌: 四组顺子 + 一对将
hand[0] = 2 # 将: 两张1条
hand[3] = 1 # 2条
hand[4] = 1 # 3条
hand[5] = 1 # 4条
hand[10] = 1 # 5条
hand[11] = 1 # 6条
hand[12] = 1 # 7条
hand[20] = 1 # 8条
hand[21] = 1 # 9条
hand[22] = 1 # 1筒
hand[30] = 1 # 2筒
hand[31] = 1 # 3筒
hand = Hand()
# 模拟平胡手牌四组顺子 + 一对将
hand.add_tile(MahjongTile("", 1))
hand.add_tile(MahjongTile("", 1)) #
hand.add_tile(MahjongTile("", 2))
hand.add_tile(MahjongTile("", 3)) # 顺子
hand.add_tile(MahjongTile("", 4))
hand.add_tile(MahjongTile("", 5))
hand.add_tile(MahjongTile("", 6)) # 顺子
hand.add_tile(MahjongTile("", 7))
hand.add_tile(MahjongTile("", 7))
hand.add_tile(MahjongTile("", 8))
hand.add_tile(MahjongTile("", 9)) # 顺子
hand.add_tile(MahjongTile("", 1))
hand.add_tile(MahjongTile("", 2))
hand.add_tile(MahjongTile("", 3)) # 顺子
melds = []
conditions = {}
fan = calculate_fan(hand, melds, is_self_draw=False, is_cleared=False, conditions=conditions)
fan = calculate_fan(hand.tiles, melds, is_self_draw=False, is_cleared=False, conditions=conditions)
assert fan == 1, f"Expected 1 fan, got {fan}"