public T Calculate(string expression) { try { expression = _formatter.FormatExpression(expression); if (!_validator.BracketsValidation(expression)) { throw new ExpressionFormatException("В данном выражении не одинаковое количество открытых и закрытых скобок."); } if (!_validator.ValidateAvailableOperation(expression, _parser.AvailableOperations)) { throw new ExpressionFormatException("В данном выражении обнаружены операции, которые в данный момент не определены."); } var reverseExpression = _parser.Parse(expression); return(_parser.Calculate(reverseExpression)); } catch (Exception ex) { throw ex; } }
public void Brackets_Validation_Test_With_Bad_Result(string value) { Assert.AreEqual(false, _validator.BracketsValidation(value)); }