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