from src import get_suit,get_tile_name def test_get_suit(): # 测试条花色(0-35) for i in range(36): assert get_suit(i) == "条", f"测试失败:索引 {i} 应该是 '条'" # 测试筒花色(36-71) for i in range(36, 72): assert get_suit(i) == "筒", f"测试失败:索引 {i} 应该是 '筒'" # 测试万花色(72-107) for i in range(72, 108): assert get_suit(i) == "万", f"测试失败:索引 {i} 应该是 '万'" # 测试无效索引 try: get_suit(108) assert False, "测试失败:索引 108 应该抛出 ValueError" except ValueError: pass # 如果抛出 ValueError,测试通过 print("get_suit 测试通过!") def test_get_tile_name(): # 测试每个牌的名称是否正确 for i in range(108): tile_name = get_tile_name(i) assert tile_name == f"{i % 36 + 1}{get_suit(i)}", \ f"测试失败:索引 {i} 应该是 '{i % 36 + 1}{get_suit(i)}',但实际返回 '{tile_name}'" print("get_tile_name 测试通过!") # 运行测试 test_get_suit() test_get_tile_name()