yeg
4 天以前 3194ad3ce5526148df9009aeaa917b888dc53b40
battery-device-neware/src/test/java/com/battery/device/neware/NewareMysqlAdapterContractTest.java
@@ -132,8 +132,10 @@
        assertEquals(3, latest.cycleNo());
        assertEquals(12, latest.stepNo());
        assertEquals("2", latest.stepType());
        // 工步名称由设备工步类型解释出的方向填写:2 = 放电。类型本身仍保留设备给的数字。
        assertEquals("放电", latest.stepName());
        assertEquals("neware:440:7435", latest.sourceRecordId());
        // 工步类型保留设备给出的数字,不按电流符号猜方向;同一秒的另一行靠工步与序号区分。
        // 同一秒的另一行靠工步与序号区分。
        assertEquals(9, rows.get(1).stepNo());
    }
@@ -224,7 +226,8 @@
        StepRecord rest = step(steps, 0, 1);
        assertEquals("4", rest.stepType());
        assertNull(rest.stepName());
        // 工步名称按设备工步类型解释出的方向:4 = 搁置。
        assertEquals("搁置", rest.stepName());
        assertEquals(Instant.parse("2026-09-28T01:00:00Z"), rest.startedAt());
        assertEquals(Instant.parse("2026-09-28T01:00:38Z"), rest.endedAt());
        assertEquals(1.3588, rest.endVoltageV(), 1e-9);
@@ -237,6 +240,7 @@
        StepRecord charge = step(steps, 0, 4);
        assertEquals("1", charge.stepType());
        assertEquals("充电", charge.stepName());
        // 单项容量只在方向已确认时给出:充电工步取充电侧。
        assertEquals(119277040d / 36000000d, charge.capacityAh(), 1e-9);
        assertEquals(195220576d / 36000000d, charge.energyWh(), 1e-9);
@@ -246,6 +250,7 @@
        StepRecord discharge = step(steps, 0, 6);
        assertEquals("2", discharge.stepType());
        assertEquals("放电", discharge.stepName());
        assertEquals(68462032d / 36000000d, discharge.capacityAh(), 1e-9);
        assertTrue(discharge.measurements().containsKey("dischargeMedianVoltage"));
        // 四组容量能量都是设备事实:每一组都保留,不只保留方向匹配的那一组。
@@ -263,6 +268,8 @@
        List<StepRecord> steps = adapter(stepLayerDatabase()).stepRecords(CHANNEL);
        StepRecord unknown = step(steps, 1, 3);
        assertEquals("7", unknown.stepType());
        // 类型未确认时工步名称留空:不按电流符号也不按名称猜方向。
        assertNull(unknown.stepName());
        // 单项容量留空:方向未确认时不给出可归属的单值,但四组明细照原样保留供核对。
        assertNull(unknown.capacityAh());
        assertNull(unknown.energyWh());