public void DoesEquationHaveModulusSign()
 {
     var calc = new Parse();
     var op = calc.GetOperator("20%5");
     var expected = '%'; ;
     Assert.AreEqual(expected, calc.GetOperator("%"));
 }
 public void DoesEquationHaveDivisionSign()
 {
     var calc = new Parse();
     var op = calc.GetOperator("20/5");
     var expected = '/'; ;
     Assert.AreEqual(expected, calc.GetOperator("/"));
 }
 public void DoesEquationHaveaddintionSign()
 {
     var calc = new Parse();
     var op = calc.GetOperator("20+5");
     var expected = '+'; ;
     Assert.AreEqual(expected, calc.GetOperator("+"));
 }
Esempio n. 4
0
        //Evaluate
        public string Calculuate(string input)
        {
            /*  if (input.Contains("="))
            {
                Parse.ExtractCharacter();
              //  string letter = "a";
                //return letter;
            }
            */
                if (input == "lastq")
            {
                if (Stack.lastQuestion == null)
                {
                    return "No Operation entered";
                }
                return Stack.lastQuestion;
            }
            else if (input == "last")
            {
                if (Stack.lastQuestion == null)
                {
                    return "No Operation entered";
                }
                return Stack.last;
            }

            else
            {
                Parse parse = new Parse();
                var operans = parse.GetNumbers(input);
                var op = parse.GetOperator(input);
                var result = 0;

                switch (op)
                {
                    case '+':
                        result = Addition.AddNum(operans);
                        break;
                    case '-':
                        result = Subtraction.SubNum(operans);
                        break;
                    case '*':
                        result = Multiplication.MultiplyNum(operans);
                        break;
                    case '/':
                        result = Division.DivideNum(operans);
                        break;
                    case '%':
                        result = Modulus.ModNum(operans);
                        break;
                    default:
                        throw new ArgumentException("incorrect format");
                }
                Stack.last = result.ToString();
                Stack.lastQuestion = input;
                return result.ToString();
            }
        }
 public void DoesEquationHaveMultiplicationSign()
 {
     var calc = new Parse();
     var op = calc.GetOperator("20*5");
     var expected = '*'; ;
     Assert.AreEqual(expected, calc.GetOperator("*"));
 }
 public void ShouldGetOperators()
 {
     var calc = new Parse();
     var op = calc.GetOperator("12-8");
     var expected = '-';
     Assert.AreEqual(expected, op);
 }
 public void DoesEquationHaveSubtractionSign()
 {
     var calc = new Parse();
     var op = calc.GetOperator("20-5");
     var expected = '-'; ;
     Assert.AreEqual(expected, calc.GetOperator("-"));
 }
 public void DoesEquationHaveOperators()
 {
     var calc = new Parse();
     var op = calc.GetOperator("20+5");
     var expected = '+';
     Assert.AreEqual(expected, op);
 }