package com.zcxk.enums;

import lombok.Getter;

import java.util.ArrayList;
import java.util.List;

/**
 * 数据运算符号
 * @author lihui
 * @version V1.0
 * @date 2021/5/28
 **/
@Getter
public enum MathematicalSymbolEnum {

    /**
     * 相加
     */
    ADD("+", 1),

    /**
     * 相减
     */
    REDUCE("-", 1),

    /**
     * 相乘
     */
    MULTIPLY("*", 1),

    /**
     * 相除
     */
    DIVIDE("/", 1),

    /**
     * 等于
     */
    EQ("=", 2),

    /**
     * 不等于
     */
    NEQ("≠", 2),


    /**
     * 大于
     */
    GT(">", 2),

    /**
     * 小于
     */
    LT("<", 2),

    /**
     * 大于等于
     */
    GTE("≥", 2),

    /**
     * 小于等于
     */
    LTE("≤", 2),

    ;

    /**
     * 运算符号
     */
    private String symbol;

    /**
     * 运算类型 1:算法，2：结果
     */
    private int type;


    MathematicalSymbolEnum(String symbol, int type){
        this.type = type;
        this.symbol = symbol;
    }

    public static List<String> getMathematicalSymbolByType(int type){
        List<String> result = new ArrayList<>();
        for (MathematicalSymbolEnum symbolEnum : MathematicalSymbolEnum.values()) {
             if (symbolEnum.getType() == type) {
                 result.add(symbolEnum.getSymbol());
             }
        }
        return result;
    }
}
