public void SubsTest(double first, double second, double expected) { ICalculate calc = new Substruction(); double result = calc.Calculate(first, second); Assert.AreEqual(expected, result); }
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; } }
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]); } } }
public void BuildFoundations() { var foundations = new Substruction(); AddHousePart(foundations); }