41 lines
1.8 KiB
Java
41 lines
1.8 KiB
Java
package com.guo.learningprogresstracker.enums;
|
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
|
|
/**
|
|
* TaskApplicationStatusEnum 单元测试:覆盖 fromCodeOrDefault 的未知码兜底/合法码分支。
|
|
*/
|
|
class TaskApplicationStatusEnumTest {
|
|
|
|
@Test
|
|
void fromCodeOrDefault_nullOrBlank_shouldReturnTodo() {
|
|
assertSame(TaskApplicationStatusEnum.TODO, TaskApplicationStatusEnum.fromCodeOrDefault(null));
|
|
assertSame(TaskApplicationStatusEnum.TODO, TaskApplicationStatusEnum.fromCodeOrDefault(""));
|
|
assertSame(TaskApplicationStatusEnum.TODO, TaskApplicationStatusEnum.fromCodeOrDefault(" "));
|
|
}
|
|
|
|
@Test
|
|
void fromCodeOrDefault_validCode_shouldMatchIgnoringCase() {
|
|
assertSame(TaskApplicationStatusEnum.TODO, TaskApplicationStatusEnum.fromCodeOrDefault("todo"));
|
|
assertSame(TaskApplicationStatusEnum.DOING, TaskApplicationStatusEnum.fromCodeOrDefault("doing"));
|
|
assertSame(TaskApplicationStatusEnum.DONE, TaskApplicationStatusEnum.fromCodeOrDefault("DONE"));
|
|
}
|
|
|
|
@Test
|
|
void fromCodeOrDefault_unknownCode_shouldFallbackTodo() {
|
|
assertSame(TaskApplicationStatusEnum.TODO, TaskApplicationStatusEnum.fromCodeOrDefault("not-a-status"));
|
|
}
|
|
|
|
@Test
|
|
void codeAndDescription_shouldMatchConstants() {
|
|
assertEquals("TODO", TaskApplicationStatusEnum.TODO.getCode());
|
|
assertEquals("待应用", TaskApplicationStatusEnum.TODO.getDescription());
|
|
assertEquals("DOING", TaskApplicationStatusEnum.DOING.getCode());
|
|
assertEquals("应用中", TaskApplicationStatusEnum.DOING.getDescription());
|
|
assertEquals("DONE", TaskApplicationStatusEnum.DONE.getCode());
|
|
assertEquals("已完成", TaskApplicationStatusEnum.DONE.getDescription());
|
|
}
|
|
}
|