package com.battery.business.runtime;
|
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
import java.io.InputStream;
|
import java.nio.charset.StandardCharsets;
|
import org.junit.jupiter.api.Test;
|
|
/** 电池组写入与测试选项查询的 Mapper 契约。 */
|
class BatterySelectionMapperContractTest
|
{
|
@Test
|
void batteryGroupBatteriesFeedEnabledTestOptions()
|
{
|
String groupMapper = resource("mapper/battery/TBatteryGroupMapper.xml");
|
String testMapper = resource("mapper/battery/TTestMapper.xml");
|
|
assertTrue(groupMapper.contains("insert into t_battery_group_battery"));
|
assertTrue(testMapper.contains("id=\"selectEnabledBatteryOptions\""));
|
assertTrue(testMapper.contains("from t_battery_group_battery battery"));
|
assertTrue(testMapper.contains("battery_group.status = '0'"));
|
assertTrue(testMapper.contains("battery.battery_no batteryNo"));
|
assertTrue(groupMapper.contains("t.test_status not in ('COMPLETED', 'COMPLETION_PENDING', 'TERMINATED')"));
|
}
|
|
private static String resource(String path)
|
{
|
try (InputStream stream = BatterySelectionMapperContractTest.class.getClassLoader().getResourceAsStream(path))
|
{
|
if (stream == null) throw new AssertionError("缺少资源 " + path);
|
return new String(stream.readAllBytes(), StandardCharsets.UTF_8);
|
}
|
catch (Exception exception)
|
{
|
throw new AssertionError("无法读取资源 " + path, exception);
|
}
|
}
|
}
|