blob: daec740902ee43c8dacc3f4fd23851d1e4465953 [file] [log] [blame]
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Rhino.Mocks;
using OfficeOpenXml.FormulaParsing;
using OfficeOpenXml.FormulaParsing.ExcelUtilities;
using OfficeOpenXml.FormulaParsing.ExpressionGraph;
namespace EPPlusTest.FormulaParsing.ExpressionGraph
{
[TestClass]
public class ExcelAddressExpressionTests
{
private ParsingContext _parsingContext;
private ParsingScope _scope;
private ExcelCell CreateItem(object val)
{
return new ExcelCell(val, null, 0, 0);
}
[TestInitialize]
public void Setup()
{
_parsingContext = ParsingContext.Create();
_scope = _parsingContext.Scopes.NewScope(RangeAddress.Empty);
}
[TestCleanup]
public void Cleanup()
{
_scope.Dispose();
}
[TestMethod, ExpectedException(typeof(ArgumentNullException))]
public void ConstructorShouldThrowIfExcelDataProviderIsNull()
{
new ExcelAddressExpression("A1", null, _parsingContext);
}
[TestMethod, ExpectedException(typeof(ArgumentNullException))]
public void ConstructorShouldThrowIfParsingContextIsNull()
{
new ExcelAddressExpression("A1", MockRepository.GenerateStub<ExcelDataProvider>(), null);
}
//TODO:Fix Test /Janne
//[TestMethod]
//public void ShouldCallReturnResultFromProvider()
//{
// var expectedAddress = "A1";
// var provider = MockRepository.GenerateStub<ExcelDataProvider>();
// provider
// .Stub(x => x.GetRangeValues(string.Empty, expectedAddress))
// .Return(new object[]{ 1 });
// var expression = new ExcelAddressExpression(expectedAddress, provider, _parsingContext);
// var result = expression.Compile();
// Assert.AreEqual(1, result.Result);
//}
//TODO:Fix Test /Janne
//[TestMethod]
//public void CompileShouldReturnAddress()
//{
// var expectedAddress = "A1";
// var provider = MockRepository.GenerateStub<ExcelDataProvider>();
// provider
// .Stub(x => x.GetRangeValues(expectedAddress))
// .Return(new ExcelCell[] { CreateItem(1) });
// var expression = new ExcelAddressExpression(expectedAddress, provider, _parsingContext);
// expression.ParentIsLookupFunction = true;
// var result = expression.Compile();
// Assert.AreEqual(expectedAddress, result.Result);
//}
}
}