Files
lpt-be/src/test/java/com/guo/learningprogresstracker/enums/TaskApplicationStatusEnumTest.java
T

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());
}
}