package com.zy.api.entity;
|
|
import com.alibaba.fastjson.JSON;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import org.junit.jupiter.api.Test;
|
import org.springframework.beans.BeanUtils;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertFalse;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
class OrderParamsFieldAliasTest {
|
|
private final ObjectMapper objectMapper = new ObjectMapper();
|
|
@Test
|
void packageFieldShouldRoundTripThroughJacksonAndFastjson() throws Exception {
|
StockUpOrderParams params = buildSampleParams();
|
|
String jacksonJson = objectMapper.writeValueAsString(params);
|
assertTrue(jacksonJson.contains("\"package\":1"));
|
assertFalse(jacksonJson.contains("packageFlag"));
|
|
StockUpOrderParams jacksonRoundTrip = objectMapper.readValue(jacksonJson, StockUpOrderParams.class);
|
assertEquals(Integer.valueOf(1), jacksonRoundTrip.getPackageFlag());
|
assertEquals("客户A", jacksonRoundTrip.getCustomerName());
|
assertEquals("CONT-001", jacksonRoundTrip.getContainerNo());
|
assertEquals(Integer.valueOf(2), jacksonRoundTrip.getTeu());
|
|
String fastjsonJson = JSON.toJSONString(params);
|
assertTrue(fastjsonJson.contains("\"package\":1"));
|
assertFalse(fastjsonJson.contains("packageFlag"));
|
|
OrderParams fastjsonRoundTrip = JSON.parseObject(fastjsonJson, OrderParams.class);
|
assertEquals(Integer.valueOf(1), fastjsonRoundTrip.getPackageFlag());
|
assertEquals("外库-01", fastjsonRoundTrip.getOutDoorNo());
|
assertEquals(Double.valueOf(12.5), fastjsonRoundTrip.getCubeNumber());
|
}
|
|
@Test
|
void beanCopyShouldKeepNewInheritedFields() {
|
StockUpOrderParams source = buildSampleParams();
|
PubOrderParams target = new PubOrderParams();
|
|
BeanUtils.copyProperties(source, target);
|
|
assertEquals(source.getCustomerId(), target.getCustomerId());
|
assertEquals(source.getCustomerName(), target.getCustomerName());
|
assertEquals(source.getItem(), target.getItem());
|
assertEquals(source.getPackageFlag(), target.getPackageFlag());
|
assertEquals(source.getOutDoorNo(), target.getOutDoorNo());
|
assertEquals(source.getPlateNo(), target.getPlateNo());
|
assertEquals(source.getTrainNo(), target.getTrainNo());
|
assertEquals(source.getFreqType(), target.getFreqType());
|
assertEquals(source.getCubeNumber(), target.getCubeNumber());
|
assertEquals(source.getContainerNo(), target.getContainerNo());
|
assertEquals(source.getTeu(), target.getTeu());
|
}
|
|
private StockUpOrderParams buildSampleParams() {
|
StockUpOrderParams params = new StockUpOrderParams();
|
params.setDispatch_no("DISP-001");
|
params.setCompany_id("COMP-001");
|
params.setCustomerId("CUST-001");
|
params.setCustomerName("客户A");
|
params.setItem("ITEM-001");
|
params.setPackageFlag(1);
|
params.setOutDoorNo("外库-01");
|
params.setPlateNo("沪A12345");
|
params.setTrainNo("T-20260414");
|
params.setFreqType(2);
|
params.setCubeNumber(12.5);
|
params.setContainerNo("CONT-001");
|
params.setTeu(2);
|
return params;
|
}
|
}
|