yeg
5 天以前 60a8c9d2bd33c3b1ec8085ccf28a969615955d94
battery-business/src/test/java/com/battery/business/service/impl/PushIngestAdapterContractTest.java
@@ -239,6 +239,9 @@
        assertEquals(4, step.stepNo());
        // 方向取自该段电流符号:段内两行恒正即充电。
        assertEquals("charge", step.stepType());
        // 工步名称用同一套词(甲方软件那一列「状态」显示的就是充电/放电/搁置):该来源的方案里
        // 只有「步_N」标号,这个名称是判定出的方向,不是设备给的名称。
        assertEquals("充电", step.stepName());
        // 容量与能量是工步累计,取该段末行的值;工步时间是工步内相对时间(秒)。
        assertEquals(0.121, step.capacityAh(), 1e-9);
        assertEquals(0.31, step.energyWh(), 1e-9);
@@ -277,6 +280,8 @@
                .map(step -> step.cycleNo() + ":" + step.stepNo() + ":" + step.stepType()).toList());
        // 搁置段自身的累计是 0(该段什么都没充放),不是缺失。
        assertEquals(0.0, steps.get(1).capacityAh(), 1e-9);
        // 搁置段的名称同样是判定出来的。
        assertEquals("搁置", steps.get(1).stepName());
        assertEquals(0.0, steps.get(1).energyWh(), 1e-9);
        assertEquals(List.of(1), cycles.stream().map(CycleRecord::cycleNo).toList());
@@ -306,6 +311,8 @@
        assertEquals(1, undecided.stepNo());
        // 方向不唯一时不猜:类型留空、单项容量与能量留空。
        assertNull(undecided.stepType());
        // 方向判不出来时名称也留空:不写一个没根据的名字。
        assertNull(undecided.stepName());
        assertNull(undecided.capacityAh());
        assertNull(undecided.energyWh());
        // 四组容量能量作为设备事实照原样保留,供核对。