package com.zy.ai.utils;
|
|
import com.zy.ai.domain.autotune.AutoTuneControlModeSnapshot;
|
import com.zy.ai.enums.AiPromptScene;
|
import org.junit.jupiter.api.Test;
|
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
class AiPromptUtilsTest {
|
|
@Test
|
void defaultAutoTunePromptTreatsOutBufferCapacityAsRiskReferenceNotHardLimit() {
|
AiPromptUtils promptUtils = new AiPromptUtils();
|
|
String prompt = promptUtils.getDefaultPrompt(AiPromptScene.AUTO_TUNE_DISPATCH);
|
|
assertOutBufferCapacityRiskReferenceSemantics(prompt);
|
}
|
|
@Test
|
void runtimeAutoTuneGuardDoesNotRestoreOutBufferCapacityHardLimitSemantics() {
|
String prompt = AiPromptUtils.buildAutoTuneRuntimeGuard("auto", new AutoTuneControlModeSnapshot());
|
|
assertFalse(prompt.contains("找不到规则或无法证" + "明动态上限时禁止提交"));
|
assertTrue(prompt.contains("不得把 outBufferCapacity 推导为 outTaskLimit 的动态上限"));
|
}
|
|
private void assertOutBufferCapacityRiskReferenceSemantics(String prompt) {
|
assertTrue(prompt.contains("outBufferCapacity 只表示站点出库缓存容量"));
|
assertTrue(prompt.contains("主干道占用风险"));
|
assertTrue(prompt.contains("不是 outTaskLimit 的硬上限或动态上限"));
|
assertTrue(prompt.contains("增大 outTaskLimit 可以超过对应站点 outBufferCapacity"));
|
assertFalse(prompt.contains("增大 outTaskLimit 时建议值不得超过"
|
+ "对应站点 outBufferCapacity"));
|
assertFalse(prompt.contains("只用于证" + "明 outTaskLimit 可上调上限"));
|
assertFalse(prompt.contains("不得突" + "破动态上限"));
|
}
|
}
|