package cn.iocoder.yudao.module.mes.service.md.autocode.strategy.impl;
|
|
import cn.iocoder.yudao.module.mes.dal.dataobject.md.autocode.MesMdAutoCodePartDO;
|
import cn.iocoder.yudao.module.mes.service.md.autocode.strategy.MesMdAutoCodeContext;
|
import org.junit.jupiter.api.Test;
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static org.junit.jupiter.api.Assertions.assertTrue;
|
|
/**
|
* {@link MesMdAutoCodeDatePartStrategy} 的单元测试
|
*
|
* @author 芋道源码
|
*/
|
public class MesMdAutoCodeDatePartStrategyTest {
|
|
private final MesMdAutoCodeDatePartStrategy strategy = new MesMdAutoCodeDatePartStrategy();
|
|
@Test
|
public void testGenerate_withDefaultFormat() {
|
// 准备参数
|
MesMdAutoCodePartDO part = new MesMdAutoCodePartDO().setDateFormat(null);
|
MesMdAutoCodeContext context = new MesMdAutoCodeContext();
|
|
// 调用
|
String result = strategy.generate(part, context);
|
|
// 断言:默认格式为 yyyyMMdd,长度为 8
|
assertEquals(8, result.length());
|
assertTrue(result.matches("\\d{8}"));
|
}
|
|
@Test
|
public void testGenerate_withCustomFormat() {
|
// 准备参数
|
MesMdAutoCodePartDO part = new MesMdAutoCodePartDO().setDateFormat("yyyyMM");
|
MesMdAutoCodeContext context = new MesMdAutoCodeContext();
|
|
// 调用
|
String result = strategy.generate(part, context);
|
// 断言:格式为 yyyyMM,长度为 6
|
assertEquals(6, result.length());
|
assertTrue(result.matches("\\d{6}"));
|
}
|
|
@Test
|
public void testGenerate_withTimeFormat() {
|
// 准备参数
|
MesMdAutoCodePartDO part = new MesMdAutoCodePartDO().setDateFormat("HHmmss");
|
MesMdAutoCodeContext context = new MesMdAutoCodeContext();
|
|
// 调用
|
String result = strategy.generate(part, context);
|
// 断言:格式为 HHmmss,长度为 6
|
assertEquals(6, result.length());
|
assertTrue(result.matches("\\d{6}"));
|
}
|
|
}
|