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

import org.junit.jupiter.api.Test;

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

/**
 * {@link TradeTypeEnum} 的单元测试
 */
public class TradeTypeEnumTest {

    @Test
    public void testFromCode() {
        // 测试正常情况 - 产品购买
        assertEquals(TradeTypeEnum.PRODUCT, TradeTypeEnum.fromCode(1));
        
        // 测试不存在的类型
        assertNull(TradeTypeEnum.fromCode(999));
        
        // 测试null值
        assertNull(TradeTypeEnum.fromCode(null));
    }

    @Test
    public void testValidArr() {
        // 测试validArr方法
        TradeTypeEnum[] validArr = TradeTypeEnum.validArr();
        assertEquals(1, validArr.length);
        assertEquals(TradeTypeEnum.PRODUCT, validArr[0]);
    }

    @Test
    public void testEnumValues() {
        // 测试枚举值的基本属性
        assertEquals(1, TradeTypeEnum.PRODUCT.getCode());
        assertEquals("trade.type.product", TradeTypeEnum.PRODUCT.getDesc());
    }
}