package com.cf.imes.module.system.enums.customplateno;

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

/**
 * {@link ResetModeEnum} 的单元测试
 */
class ResetModeEnumTest {

    @Test
    void testEnumValues() {
        // 测试枚举值是否正确
        assertEquals(0, ResetModeEnum.ACCUMULATION.getMode());
        assertEquals(1, ResetModeEnum.DIGIT.getMode());
        assertEquals(2, ResetModeEnum.YEAR.getMode());
        assertEquals(3, ResetModeEnum.MONTH.getMode());
        assertEquals(4, ResetModeEnum.DAY.getMode());
        assertEquals(5, ResetModeEnum.ORDER.getMode());
        assertEquals(6, ResetModeEnum.ROOM.getMode());
        assertEquals(7, ResetModeEnum.BODY.getMode());
    }

    @Test
    void testGetByMode() {
        // 测试 getByMode 方法
        assertEquals(ResetModeEnum.ACCUMULATION, ResetModeEnum.getByMode(0));
        assertEquals(ResetModeEnum.DIGIT, ResetModeEnum.getByMode(1));
        assertEquals(ResetModeEnum.YEAR, ResetModeEnum.getByMode(2));
        assertEquals(ResetModeEnum.MONTH, ResetModeEnum.getByMode(3));
        assertEquals(ResetModeEnum.DAY, ResetModeEnum.getByMode(4));
        assertEquals(ResetModeEnum.ORDER, ResetModeEnum.getByMode(5));
        assertEquals(ResetModeEnum.ROOM, ResetModeEnum.getByMode(6));
        assertEquals(ResetModeEnum.BODY, ResetModeEnum.getByMode(7));
        assertNull(ResetModeEnum.getByMode(99)); // 不存在的模式
    }
}