Update test_chengdu_mahjong_states.py
parent
3d87d3850f
commit
1562f784bf
|
|
@ -481,3 +481,34 @@ def test_can_win_with_small_seven_pairs():
|
|||
# 调用 can_win 方法并断言胡牌
|
||||
assert state.can_win(state.hands[0], state.melds[0], missing_suit), "测试失败:小七对应该可以胡牌"
|
||||
print("测试通过:小七对胡牌成功!")
|
||||
|
||||
def test_can_win_with_jin_gou_diao():
|
||||
"""测试金钩吊胡牌"""
|
||||
hand = Hand()
|
||||
|
||||
# 添加仅剩的一张牌
|
||||
hand.add_tile(MahjongTile("筒", 3))
|
||||
|
||||
# 初始化游戏状态
|
||||
state = ChengduMahjongState()
|
||||
state.hands[0] = hand
|
||||
state.melds[0] = [
|
||||
Meld(MahjongTile("筒", 8), "碰"), # 8筒碰
|
||||
Meld(MahjongTile("筒", 7), "碰"), # 7筒碰
|
||||
Meld(MahjongTile("筒", 9), "杠"), # 9筒杠
|
||||
Meld(MahjongTile("筒", 3), "碰") # 3筒碰
|
||||
]
|
||||
# 设置缺门为 "条",因为手牌和明牌中没有 "条"
|
||||
missing_suit = "条"
|
||||
|
||||
# 打印当前玩家状态
|
||||
state.print_game_state(player_index=0)
|
||||
|
||||
# 模拟别人打出一张 "筒3",胡牌
|
||||
winning_tile = MahjongTile("筒", 3)
|
||||
|
||||
state.hands[0].add_tile(winning_tile)
|
||||
# 调用 can_win 方法并断言胡牌
|
||||
can_win = state.can_win(state.hands[0], state.melds[0], missing_suit)
|
||||
assert can_win, f"测试失败:金钩吊未能胡 {winning_tile}"
|
||||
print("测试通过:金钩吊胡牌成功!")
|
||||
Loading…
Reference in New Issue