fix: IdentifyFans filter排除无fallback番型—防止跨变体越权
核心变更: - filter从'well-known全放行'改为'只放行_fanConfig或有fallback值的' - 排除: 断幺九/无字/缺一门/将/平胡/平和(无hardcoded fallback) - 这些被排除时→allZeroValue→鸡胡兜底→保证非零分 效果: 南昌不再显示'断幺九+无字+平胡'等不存在于南昌规则的番型 测试: _fanConfig补全16个番型, 58 tests pass
This commit is contained in:
@ -90,7 +90,25 @@ public class DeckTests
|
||||
|
||||
public class MeldsSolverTests
|
||||
{
|
||||
private readonly MeldsSolver _solver = new(new Dictionary<string, FanConfig>());
|
||||
private readonly MeldsSolver _solver = new(new Dictionary<string, FanConfig>
|
||||
{
|
||||
["清一色"] = new() { BaseFan = 24 },
|
||||
["混一色"] = new() { BaseFan = 6 },
|
||||
["字一色"] = new() { BaseFan = 64 },
|
||||
["对对胡"] = new() { BaseFan = 2 },
|
||||
["碰碰和"] = new() { BaseFan = 6 },
|
||||
["暗七对"] = new() { BaseFan = 8 },
|
||||
["带幺九"] = new() { BaseFan = 2 },
|
||||
["缺一门"] = new() { BaseFan = 0 },
|
||||
["平胡"] = new() { BaseFan = 0 },
|
||||
["断幺九"] = new() { BaseFan = 2 },
|
||||
["无字"] = new() { BaseFan = 0 },
|
||||
["全大"] = new() { BaseFan = 12 },
|
||||
["全中"] = new() { BaseFan = 12 },
|
||||
["全小"] = new() { BaseFan = 12 },
|
||||
["全双"] = new() { BaseFan = 24 },
|
||||
["鸡胡"] = new() { BaseFan = 1 },
|
||||
});
|
||||
|
||||
// === 标准胡牌 ===
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user