| | |
| | | } |
| | | |
| | | @Test |
| | | void buildRuleSnapshotExposesStepRangeCooldownAndDynamicMaxSource() { |
| | | void buildRuleSnapshotExposesStepRangeCooldownAndRiskNote() { |
| | | List<AutoTuneRuleSnapshotItem> result = service.buildRuleSnapshot(); |
| | | |
| | | AutoTuneRuleSnapshotItem stationOutTaskRule = findRule(result, "station", "outTaskLimit"); |
| | |
| | | assertNull(stationOutTaskRule.getMaxValue()); |
| | | assertEquals(3, stationOutTaskRule.getMaxStep()); |
| | | assertEquals(10, stationOutTaskRule.getCooldownMinutes()); |
| | | assertEquals(Boolean.TRUE, stationOutTaskRule.getDynamicMaxValue()); |
| | | assertEquals("currentParameterSnapshot.stationOutBufferCapacities[targetId]", |
| | | stationOutTaskRule.getDynamicMaxSource()); |
| | | assertEquals("单次调整幅度不能超过 maxStep;增大时不得超过对应站点 outBufferCapacity。", |
| | | assertEquals(Boolean.FALSE, stationOutTaskRule.getDynamicMaxValue()); |
| | | assertNull(stationOutTaskRule.getDynamicMaxSource()); |
| | | assertEquals("单次调整幅度不能超过 maxStep;outBufferCapacity 代表出库站缓存位置数量,超过该容量可能使任务出现在主干道,仅作为风险参考,不是合法性上限。", |
| | | stationOutTaskRule.getNote()); |
| | | |
| | | AutoTuneRuleSnapshotItem crnMaxOutRule = findRule(result, "crn", "maxOutTask"); |