Example #1
0
        public void RPEParser_MustNotCalculateSimpleExpression(string expression, decimal expected)
        {
            var postfixNotation = new PostfixNotationExpression();

            postfixNotation.result(expression)
            .Should()
            .NotBeOfType(typeof(decimal));
        }
Example #2
0
        public void AddCalc([FromBody] Calculating calcdate)
        {
            if (!String.IsNullOrEmpty(calcdate.Term))
            {
                string s = calcdate.Term;
                int    iCntOprnd = 0, iCntOprt = 0;
                bool   bflag = true;
                for (int i = 0; i < s.Length; i++)
                {
                    if ((s[i] == '+') || (s[i] == '-') || (s[i] == '*') || (s[i] == '/'))
                    {
                        if (iCntOprt >= 1)
                        {
                            calcdate.Operations += ";";
                        }
                        calcdate.Operations += s[i];
                        iCntOprt            += 1;
                        calcdate.Operands   += ";";
                        if (bflag)
                        {
                            iCntOprnd += 1;
                        }
                        bflag = false;
                    }
                    else
                    {
                        calcdate.Operands += s[i];
                        bflag              = true;
                        if (i == s.Length - 1)
                        {
                            calcdate.Operands += ";";
                            iCntOprnd         += 1;
                        }
                    }
                }
                if (iCntOprnd - iCntOprt == 1)
                {
                    PostfixNotationExpression pn = new PostfixNotationExpression();
                    calcdate.Res = pn.result(s);


                    calcdate.TimeofCalc = DateTime.Now;
                    calcdate.UserIp     = System.Web.HttpContext.Current.Request.UserHostAddress;
                    db.Calcs.Add(calcdate);
                    db.SaveChanges();
                }
            }
        }