yeg
2026-09-05 92f32acd847ea1700590bc669750f23ef499840e
ruoyi-admin/src/test/java/com/battery/business/runtime/TestPersistedDataQueryContractTest.java
File was renamed from ruoyi-admin/src/test/java/com/ruoyi/config/TestPersistedDataQueryContractTest.java
@@ -1,4 +1,4 @@
package com.ruoyi.config;
package com.battery.business.runtime;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.InputStream;
@@ -12,33 +12,28 @@
    @Test
    void exposesTestScopedPersistedDataQueries()
    {
        String mapper = resource("mapper/system/TTestMapper.xml");
        assertTrue(mapper.contains("id=\"selectPersistedRecords\""));
        assertTrue(mapper.contains("id=\"selectPersistedCollectorRecords\""));
        assertTrue(mapper.contains("id=\"selectPersistedSteps\""));
        assertTrue(mapper.contains("id=\"selectPersistedCycles\""));
        assertTrue(mapper.contains("id=\"selectBtsSampleContentHash\""));
        assertTrue(mapper.contains("sample.step_name"));
        assertTrue(mapper.contains("where sample.test_id = #{testId}"));
        assertTrue(mapper.contains("from t_test_sample sample"));
        String mapper = resource("mapper/battery/TTestMapper.xml");
        assertTrue(mapper.contains("id=\"selectPersistedFinalRealtimeRecords\""));
        assertTrue(mapper.contains("id=\"selectPersistedFinalStepRecords\""));
        assertTrue(mapper.contains("id=\"selectPersistedFinalCycleRecords\""));
        assertTrue(mapper.contains("where r.test_id = #{testId}"));
    }
    @Test
    void stepEndVoltageUsesTheLastDeviceTimeSample()
    void stepEndVoltageUsesPersistedDeviceStatistic()
    {
        String mapper = resource("mapper/system/TTestMapper.xml");
        assertTrue(mapper.contains(") endVoltage"));
        assertTrue(mapper.contains("order by latest.device_time_utc desc, latest.sample_id desc"));
        assertTrue(mapper.contains("latest.step_no = sample.step_no"));
        String mapper = resource("mapper/battery/TTestMapper.xml");
        assertTrue(mapper.contains("r.voltage_v endVoltage"));
        assertTrue(mapper.contains("from t_test_step_record r"));
    }
    @Test
    void mapperXmlIsWellFormed()
    {
        try (InputStream stream = TestPersistedDataQueryContractTest.class.getClassLoader()
                .getResourceAsStream("mapper/system/TTestMapper.xml"))
                .getResourceAsStream("mapper/battery/TTestMapper.xml"))
        {
            if (stream == null) throw new AssertionError("缺少资源 mapper/system/TTestMapper.xml");
            if (stream == null) throw new AssertionError("缺少资源 mapper/battery/TTestMapper.xml");
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
            factory.setFeature("http://xml.org/sax/features/external-general-entities", false);
            factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false);