diff --git a/tests/test_game_status.py b/tests/test_game_status.py index 22cd353..fdb0ba7 100644 --- a/tests/test_game_status.py +++ b/tests/test_game_status.py @@ -109,34 +109,33 @@ def test_can_win_with_triplets_and_pair(): assert state.can_win(state.hands[0], missing_suit) == True, "测试失败:刻子和对子应该可以胡牌" -def test_can_win_with_mixed_groups(): - """测试顺子、刻子和对子混合胡牌""" +def test_can_win_with_pure_one_suit(): + """测试清一色不带杠胡牌""" 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("筒", 4)) - hand.add_tile(MahjongTile("万", 7)) - hand.add_tile(MahjongTile("万", 8)) - hand.add_tile(MahjongTile("万", 9)) - hand.add_tile(MahjongTile("筒", 6)) - hand.add_tile(MahjongTile("筒", 6)) - state = ChengduMahjongState() - assert state.can_win(hand), "测试失败:顺子、刻子和对子混合应该可以胡牌" - - -def test_cannot_win(): - """测试不能胡牌""" - hand = Hand() - hand.add_tile(MahjongTile("条", 1)) - hand.add_tile(MahjongTile("条", 2)) - hand.add_tile(MahjongTile("条", 3)) + # 添加牌到手牌中 + 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("筒", 8)) + hand.add_tile(MahjongTile("筒", 9)) + hand.add_tile(MahjongTile("筒", 4)) + hand.add_tile(MahjongTile("筒", 5)) + hand.add_tile(MahjongTile("筒", 6)) + hand.add_tile(MahjongTile("筒", 9)) + hand.add_tile(MahjongTile("筒", 9)) + state = ChengduMahjongState() - assert not state.can_win(hand), "测试失败:当前手牌不应可以胡牌" + 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, "测试失败:清一色不带杠应该可以胡牌"