Esempio n. 1
0
    /// <summary>
    /// 实例化方法
    /// </summary>
    /// <param name="sign">运算符</param>
    /// <returns>返回运算法则</returns>
    public static Operation CreateOperation(string sign)
    {
        Operation opera = null;

        switch (sign)
        {
        case "+":
            opera = new AddOperation();
            break;

        case "-":
            opera = new SubOperation();
            break;

        case "*":
            opera = new MulOperation();
            break;

        case "/":
            opera = new DivOperation();
            break;

        default:
            throw new System.Exception("暂未添加此功能!");
        }
        return(opera);
    }
Esempio n. 2
0
        public static GenericOperation CreateOperation(string oprator)
        {
            GenericOperation operation = null;

            switch (oprator)
            {
            case "+":
                operation = new AddOperation();
                break;

            case "-":
                operation = new SubOperation();
                break;

            case "*":
                operation = new MulOperation();
                break;

            case "/":
                operation = new DivOperation();
                break;

            default:
                throw new System.ArgumentException(string.Format("{0} operation is not defined.", oprator));
                // break;
            }
            return(operation);
        }
Esempio n. 3
0
        public static Operation CreateOperation(string strOp)
        {
            Operation op;

            switch (strOp)
            {
            case "+":
                op = new AddOperation();
                break;

            case "-":
                op = new SubOperation();
                break;

            case "*":
                op = new MulOperation();
                break;

            case "/":
                op = new DivOperation();
                break;

            case "%":
                op = new ModuloOperation();
                break;

            default:
                return(null);
            }
            return(op);
        }
Esempio n. 4
0
        private IOperation GetOperationByName(string name)
        {
            IOperation operation = null;

            switch (name)
            {
            case "+":
                operation = new AddOperation();
                break;

            case "-":
                operation = new SubOperation();
                break;

            case "*":
                operation = new MultiOperation();
                break;

            case "/":
                operation = new DivisionOperation();
                break;

            case "^":
                operation = new ExpOperation();
                break;

            default:
                break;
            }

            return(operation);
        }
Esempio n. 5
0
 public void RemoveSubOperation(SubOperation subOperation)
 {
     if (!subOperations.Remove(subOperation))
     {
         return;
     }
     subOperation.BreakLinkage(this);
 }
Esempio n. 6
0
        public void CalculateTest()
        {
            var operation = new SubOperation
            {
                A = 4,
                B = 2
            };

            operation.Calculate();
            Assert.IsTrue(operation.Result != null);
            Assert.IsTrue(operation.Result.Value == -2);
        }
Esempio n. 7
0
 private static void WriteSub(ref NatsWriter writer, SubOperation op)
 {
     writer.WriteString($"SUB {op.Subject}");
     if (!string.IsNullOrEmpty(op.QueueGroup))
     {
         writer.WriteString(" ");
         writer.WriteString(op.QueueGroup);
     }
     writer.WriteString(" ");
     writer.WriteString(op.Sid);
     writer.Write(CRLF);
 }
Esempio n. 8
0
        public void SubOperation_Calculate_Success()
        {
            var operation = new SubOperation();
            var input     = new OperationInput <int>()
            {
                Num1 = 5, Num2 = 3
            };
            var output = operation.Do(input);

            Assert.IsNotNull(output);
            Assert.IsInstanceOfType(output, typeof(OperationOutput <int>));
            Assert.AreEqual(((OperationOutput <int>)output).Result, 2);
        }
Esempio n. 9
0
        private IMSILConstruction CreateSubOperation(IASTNode node)
        {
            var subOperator = new SubOperation();

            return(subOperator);
        }
Esempio n. 10
0
 public void AddSubOperation(SubOperation subOperation)
 {
     subOperation.Link(this);
     subOperations.Add(subOperation);
 }