| using System; | |
| using System.Text; | |
| using System.Collections.Generic; | |
| using System.Linq; | |
| using Microsoft.VisualStudio.TestTools.UnitTesting; | |
| using Rhino.Mocks; | |
| using OfficeOpenXml.FormulaParsing.ExpressionGraph; | |
| using OfficeOpenXml.FormulaParsing; | |
| using OfficeOpenXml.FormulaParsing.LexicalAnalysis; | |
| namespace EPPlusTest.FormulaParsing.ExpressionGraph | |
| { | |
| [TestClass] | |
| public class ExpressionFactoryTests | |
| { | |
| private IExpressionFactory _factory; | |
| private ParsingContext _parsingContext; | |
| [TestInitialize] | |
| public void Setup() | |
| { | |
| _parsingContext = ParsingContext.Create(); | |
| var provider = MockRepository.GenerateStub<ExcelDataProvider>(); | |
| _factory = new ExpressionFactory(provider, _parsingContext); | |
| } | |
| [TestMethod] | |
| public void ShouldReturnIntegerExpressionWhenTokenIsInteger() | |
| { | |
| var token = new Token("2", TokenType.Integer); | |
| var expression = _factory.Create(token); | |
| Assert.IsInstanceOfType(expression, typeof(IntegerExpression)); | |
| } | |
| [TestMethod] | |
| public void ShouldReturnBooleanExpressionWhenTokenIsBoolean() | |
| { | |
| var token = new Token("true", TokenType.Boolean); | |
| var expression = _factory.Create(token); | |
| Assert.IsInstanceOfType(expression, typeof(BooleanExpression)); | |
| } | |
| [TestMethod] | |
| public void ShouldReturnDecimalExpressionWhenTokenIsDecimal() | |
| { | |
| var token = new Token("2.5", TokenType.Decimal); | |
| var expression = _factory.Create(token); | |
| Assert.IsInstanceOfType(expression, typeof(DecimalExpression)); | |
| } | |
| [TestMethod] | |
| public void ShouldReturnExcelRangeExpressionWhenTokenIsExcelAddress() | |
| { | |
| var token = new Token("A1", TokenType.ExcelAddress); | |
| var expression = _factory.Create(token); | |
| Assert.IsInstanceOfType(expression, typeof(ExcelAddressExpression)); | |
| } | |
| [TestMethod] | |
| public void ShouldReturnNamedValueExpressionWhenTokenIsNamedValue() | |
| { | |
| var token = new Token("NamedValue", TokenType.NameValue); | |
| var expression = _factory.Create(token); | |
| Assert.IsInstanceOfType(expression, typeof(NamedValueExpression)); | |
| } | |
| } | |
| } |