Ejemplo n.º 1
0
        public void SubsTest(double first, double second, double expected)
        {
            ICalculate calc   = new Substruction();
            double     result = calc.Calculate(first, second);

            Assert.AreEqual(expected, result);
        }
Ejemplo n.º 2
0
    private void AddExpression(string s, int i, ref IExpression[] exps, ref int size)
    {
        if (i == 0)
        {
            if (s[i] == '-')
            {
                size++;
                Array.Resize <IExpression>(ref exps, size);
                exps[size - 1] = new Substruction(new Expression("0"),
                                                  new Expression(s.Substring(1, s.Length - 1)));
                return;
            }
            else if (s[i] == '+')
            {
                size++;
                Array.Resize <IExpression>(ref exps, size);
                exps[size - 1] = new Expression(s.Substring(1, s.Length - 1));
            }
        }


        Expression exp1 = new Expression(s.Substring(0, i));
        Expression exp2 = new Expression(s.Substring(i + 1, s.Length - i - 1));

        size++;
        Array.Resize <IExpression>(ref exps, size);

        switch (s[i])
        {
        case '+':
        {
            exps[size - 1] = new Addition(exp1, exp2);
            break;
        }

        case '-':
        {
            exps[size - 1] = new Substruction(exp1, exp2);
            break;
        }

        case '*':
        {
            exps[size - 1] = new Multiply(exp1, exp2);
            break;
        }

        case '/':
        {
            exps[size - 1] = new Division(exp1, exp2);
            break;
        }

        default:
            break;
        }
    }
Ejemplo n.º 3
0
 public void NegativeExpression()
 {
     for (int i = 0; i < size; i++)
     {
         if (exps[i] is Substruction sub)
         {
             IExpression[] exs = sub.Getexps();
             exps[i] = new Addition(exs[0], exs[1]);
         }
         else if (exps[i] is Addition add)
         {
             IExpression[] exs = add.Getexps();
             exps[i] = new Substruction(exs[0], exs[1]);
         }
     }
 }
Ejemplo n.º 4
0
 public void BuildFoundations()
 {
     var foundations = new Substruction();
     AddHousePart(foundations);
 }