feat: 实现补杠和抢杠胡功能
新增 MeldType 和 MeldGroup 领域模型,支持碰、明杠、补杠、暗杠四种副露类型 GameSeat 新增副露管理方法,支持将碰升级为补杠 ResponseActionWindowBuilder 新增补杠响应窗口构建逻辑 SettlementService 新增补杠和抢杠胡结算规则 前端新增副露展示区域,支持显示各类副露标签
This commit is contained in:
@@ -94,4 +94,21 @@ class GameEventTest {
|
||||
.doesNotContainKey("sourceSeatNo")
|
||||
.doesNotContainKey("tile");
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldAllowGangEventWithoutSourceSeatForConcealedGang() {
|
||||
GameEvent concealedGang = GameEvent.responseActionDeclared(
|
||||
"game-1",
|
||||
GameEventType.GANG_DECLARED,
|
||||
0,
|
||||
null,
|
||||
"3万"
|
||||
);
|
||||
|
||||
assertThat(concealedGang.eventType()).isEqualTo(GameEventType.GANG_DECLARED);
|
||||
assertThat(concealedGang.payload())
|
||||
.containsEntry("actionType", "GANG")
|
||||
.containsEntry("tile", "3万")
|
||||
.doesNotContainKey("sourceSeatNo");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user