| | |
| | | } |
| | | |
| | | @Test |
| | | void leavesTheRestStepCarryOverValueOutOfTheSingleValuedColumns() |
| | | { |
| | | // 现场实测(C 那台):接口对搁置步给的是**跨步过渡值**,不是该步自身累计—— |
| | | // 这一步给 +0.290039804444444(等于上一步充电的容量),另一处还给过 −0.178807573333333。 |
| | | // 写成"搁置步容量 0.29 Ah"就是不成立的事实,所以搁置步的单项容量能量留空。 |
| | | String xml = "<bts><cmd>downloadStepLayer_resp</cmd>" |
| | | + "<downloadStepLayer devtype=\"24\" devid=\"98\" subdevid=\"1\" chlid=\"1\" testid=\"2818576812\" />" |
| | | + "<list count=\"1\"><data startseqid=\"1624\" endseqid=\"1624\" stepindex=\"9\" stepid=\"7\" cycleid=\"1\"" |
| | | + " steptype=\"rest\" steptime=\"59007400\" endatime=\"2026-08-29 08:43:06\" startvolt=\"1.2977\"" |
| | | + " endvolt=\"1.2977\" startcurr=\"0\" endcurr=\"0\" cap=\"0.290039804444444\"" |
| | | + " eng=\"0.468939271111111\" dcir=\"0\" /></list></bts>"; |
| | | |
| | | StepRecord step = codec.parseStepLayer(xml, Instant.EPOCH).get(0); |
| | | |
| | | assertEquals("搁置", step.stepName()); |
| | | assertNull(step.capacityAh()); |
| | | assertNull(step.energyWh()); |
| | | // 原文仍留在明细里供核对,只是不当"该步自身累计"用。 |
| | | assertEquals(0.290039804444444, step.measurements().get("capacity").doubleValue(), 1e-15); |
| | | } |
| | | |
| | | @Test |
| | | void buildsTheStepLayerRequestWithoutTheOptionalElements() |
| | | { |
| | | String request = codec.downloadStepLayerRequest(CHANNEL); |