Update test_game_status.py
parent
ccbe55dbc7
commit
4bf51b919b
|
|
@ -21,26 +21,64 @@ def test_set_missing_suit():
|
|||
raise AssertionError("测试失败:设置无效缺门 '花' 未抛出异常")
|
||||
|
||||
|
||||
def test_can_win_with_sequence_and_pair():
|
||||
def test_can_win_with_pure_sequences():
|
||||
"""测试纯顺子胡牌"""
|
||||
hand = Hand()
|
||||
hand.add_tile(MahjongTile("条", 1))
|
||||
hand.add_tile(MahjongTile("条", 2))
|
||||
hand.add_tile(MahjongTile("条", 3))
|
||||
hand.add_tile(MahjongTile("条", 4))
|
||||
hand.add_tile(MahjongTile("条", 4))
|
||||
# 添加牌到手牌中
|
||||
hand.add_tile(MahjongTile("筒", 5))
|
||||
hand.add_tile(MahjongTile("筒", 5))
|
||||
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("万", 1))
|
||||
hand.add_tile(MahjongTile("万", 2))
|
||||
hand.add_tile(MahjongTile("筒", 8))
|
||||
hand.add_tile(MahjongTile("筒", 9))
|
||||
hand.add_tile(MahjongTile("万", 3))
|
||||
hand.add_tile(MahjongTile("筒", 8))
|
||||
hand.add_tile(MahjongTile("筒", 8))
|
||||
hand.add_tile(MahjongTile("万", 4))
|
||||
hand.add_tile(MahjongTile("万", 5))
|
||||
|
||||
state = ChengduMahjongState()
|
||||
state.hands[0] = hand
|
||||
assert state.can_win(hand), "测试失败:顺子和对子应该可以胡牌"
|
||||
print("测试通过:顺子和对子可以胡牌")
|
||||
|
||||
# 设置缺门为 "条",因为手牌中没有 "条"
|
||||
missing_suit = "条"
|
||||
print(f"\n,state.hand[0]: {state.hands[0]}")
|
||||
|
||||
# 调用 can_win 方法并断言胡牌
|
||||
assert state.can_win(state.hands[0], missing_suit) == True, "测试失败:纯顺子应该可以胡牌"
|
||||
|
||||
|
||||
def test_can_win_with_sequence_and_triplet():
|
||||
"""测试顺子 + 刻子胡牌"""
|
||||
hand = Hand()
|
||||
# 添加牌到手牌中
|
||||
hand.add_tile(MahjongTile("筒", 5))
|
||||
hand.add_tile(MahjongTile("筒", 5))
|
||||
hand.add_tile(MahjongTile("筒", 3))
|
||||
hand.add_tile(MahjongTile("筒", 3))
|
||||
hand.add_tile(MahjongTile("筒", 3))
|
||||
hand.add_tile(MahjongTile("筒", 4))
|
||||
hand.add_tile(MahjongTile("筒", 5))
|
||||
hand.add_tile(MahjongTile("筒", 6))
|
||||
hand.add_tile(MahjongTile("万", 3))
|
||||
hand.add_tile(MahjongTile("万", 4))
|
||||
hand.add_tile(MahjongTile("万", 5))
|
||||
hand.add_tile(MahjongTile("万", 7))
|
||||
hand.add_tile(MahjongTile("万", 8))
|
||||
hand.add_tile(MahjongTile("万", 9))
|
||||
|
||||
state = ChengduMahjongState()
|
||||
state.hands[0] = hand
|
||||
|
||||
# 设置缺门为 "条",因为手牌中没有 "条"
|
||||
missing_suit = "条"
|
||||
print(f"\n,state.hand[0]: {state.hands[0]}")
|
||||
|
||||
# 调用 can_win 方法并断言胡牌
|
||||
assert state.can_win(state.hands[0], missing_suit) == True, "测试失败:顺子 + 刻子应该可以胡牌"
|
||||
|
||||
def test_can_win_with_triplets_and_pair():
|
||||
"""测试刻子和对子胡牌"""
|
||||
|
|
@ -59,10 +97,16 @@ def test_can_win_with_triplets_and_pair():
|
|||
hand.add_tile(MahjongTile("筒", 3))
|
||||
hand.add_tile(MahjongTile("筒", 4))
|
||||
hand.add_tile(MahjongTile("筒", 4))
|
||||
|
||||
state = ChengduMahjongState()
|
||||
state.hands[0] = hand
|
||||
|
||||
# 设置缺门为 "万",因为手牌中没有 "万"
|
||||
missing_suit = "万"
|
||||
print(f"\n,state.hand[0]: {state.hands[0]}")
|
||||
assert state.can_win(state.hands[0]) == True, "测试失败:刻子和对子应该可以胡牌"
|
||||
|
||||
# 调用 can_win 方法并断言胡牌
|
||||
assert state.can_win(state.hands[0], missing_suit) == True, "测试失败:刻子和对子应该可以胡牌"
|
||||
|
||||
|
||||
def test_can_win_with_mixed_groups():
|
||||
|
|
|
|||
Loading…
Reference in New Issue