| using System; |
| using System.Text; |
| using System.Collections.Generic; |
| using System.Linq; |
| using Microsoft.VisualStudio.TestTools.UnitTesting; |
| using OfficeOpenXml.FormulaParsing.ExcelUtilities; |
| |
| namespace EPPlusTest |
| { |
| [TestClass] |
| public class NumericExpressionEvaluatorTests |
| { |
| private NumericExpressionEvaluator _evaluator; |
| |
| [TestInitialize] |
| public void Setup() |
| { |
| _evaluator = new NumericExpressionEvaluator(); |
| } |
| |
| [TestMethod] |
| public void EvaluateShouldReturnTrueIfOperandsAreEqual() |
| { |
| var result = _evaluator.Evaluate("1", "1"); |
| Assert.IsTrue(result); |
| } |
| |
| [TestMethod] |
| public void EvaluateShouldReturnTrueIfOperandsAreMatchingButDifferentTypes() |
| { |
| var result = _evaluator.Evaluate(1d, "1"); |
| Assert.IsTrue(result); |
| } |
| |
| [TestMethod] |
| public void EvaluateShouldEvaluateOperator() |
| { |
| var result = _evaluator.Evaluate(1d, "<2"); |
| Assert.IsTrue(result); |
| } |
| |
| [TestMethod] |
| public void EvaluateShouldEvaluateNumericString() |
| { |
| var result = _evaluator.Evaluate("1", ">0"); |
| Assert.IsTrue(result); |
| } |
| |
| [TestMethod, ExpectedException(typeof(ArgumentException))] |
| public void EvaluateShouldThrowIfOperatorIsNotBoolean() |
| { |
| var result = _evaluator.Evaluate(1d, "+1"); |
| } |
| } |
| } |