Example #1
0
        public void LookupArgumentsShouldSetRangeLookupToTrueWhenTrueIsSupplied()
        {
            var args       = FunctionsHelper.CreateArgs(1, "A:B", 2, true);
            var lookupArgs = new LookupArguments(args, ParsingContext.Create());

            Assert.IsTrue(lookupArgs.RangeLookup);
        }
Example #2
0
        public void LookupArgumentsShouldSetColIndex()
        {
            var args       = FunctionsHelper.CreateArgs(1, "A:B", 2);
            var lookupArgs = new LookupArguments(args, ParsingContext.Create());

            Assert.AreEqual(2, lookupArgs.LookupIndex);
        }
Example #3
0
        public void LookupArgumentsShouldSetRangeLookupToTrueAsDefaultValue()
        {
            var args       = FunctionsHelper.CreateArgs(1, "A:B", 2);
            var lookupArgs = new LookupArguments(args, ParsingContext.Create());

            Assert.IsTrue(lookupArgs.RangeLookup);
        }
Example #4
0
        public void LookupArgumentsShouldSetSearchedValue()
        {
            var args       = FunctionsHelper.CreateArgs(1, "A:B", 2);
            var lookupArgs = new LookupArguments(args, ParsingContext.Create());

            Assert.AreEqual(1, lookupArgs.SearchedValue);
        }
Example #5
0
        public void LookupArgumentsShouldSetRangeAddress()
        {
            var args       = FunctionsHelper.CreateArgs(1, "A:B", 2);
            var lookupArgs = new LookupArguments(args, ParsingContext.Create());

            Assert.AreEqual("A:B", lookupArgs.RangeAddress);
        }
Example #6
0
        public void Should_Return_ArrayLookupNavigator_When_Array_Is_Supplied()
        {
            var args      = new LookupArguments(FunctionsHelper.CreateArgs(8, FunctionsHelper.CreateArgs(1, 2), 1));
            var navigator = LookupNavigatorFactory.Create(LookupDirection.Horizontal, args, _context);

            Assert.IsInstanceOfType(navigator, typeof(ArrayLookupNavigator));
        }
        public void LookupArgumentsShouldSetRangeLookupToFalseAsDefaultValue()
        {
            var args       = FunctionsHelper.CreateArgs(1, "A:B", 2);
            var lookupArgs = new LookupArguments(args);

            Assert.IsFalse(lookupArgs.RangeLookup);
        }
Example #8
0
        public void Should_Return_ExcelLookupNavigator_When_Range_Is_Set()
        {
            var args      = new LookupArguments(FunctionsHelper.CreateArgs(8, "A:B", 1));
            var navigator = LookupNavigatorFactory.Create(LookupDirection.Horizontal, args, _context);

            Assert.IsInstanceOfType(navigator, typeof(ExcelLookupNavigator));
        }
        public void LookupArgumentsShouldSetColIndex()
        {
            var args       = FunctionsHelper.CreateArgs(1, "A:B", 2);
            var lookupArgs = new LookupArguments(args);

            Assert.AreEqual(2, lookupArgs.ColumnIndex);
        }
Example #10
0
		public void LookupArgumentsShouldSetColIndexFromReferenceDifferentSheet()
		{
			// This test addresses a bug fix where under certain cases a faulty lookup is created
			// that always references the first sheet. That's why there is an unused Worksheet1.
			const int expectedIndex = 9;
			using (var excelPackage = new ExcelPackage())
			using (var worksheet1 = excelPackage.Workbook.Worksheets.Add("Worksheet1"))
			using (var worksheet2 = excelPackage.Workbook.Worksheets.Add("Worksheet2"))
			using (var worksheet3 = excelPackage.Workbook.Worksheets.Add("Worksheet3"))
			{
				worksheet1.Cells["C3"].Value = expectedIndex + 1;
				worksheet2.Cells["C3"].Value = expectedIndex + 2;
				worksheet3.Cells["C3"].Value = expectedIndex;
				var parsingContext = this.BuildParsingContext(excelPackage);
				var scopeAddress = parsingContext.RangeAddressFactory.Create("Worksheet2!D4");
				using (parsingContext.Scopes.NewScope(scopeAddress))
				{
					var args = new[]
					{
								new FunctionArgument(1),
								new FunctionArgument("A:B", DataType.ExcelAddress),
								new FunctionArgument(new EpplusExcelDataProvider(excelPackage).GetRange("Worksheet3", 3, 3, 3, 3), DataType.Enumerable)
						  };
					var lookupArgs = new LookupArguments(args, parsingContext);
					Assert.AreEqual(expectedIndex, lookupArgs.LookupIndex);
				}
			}
		}
        public void GetLookupValueShouldReturnCorrespondingValueWithOffset()
        {
            var provider = MockRepository.GenerateStub <ExcelDataProvider>();

            provider.Stub(x => x.GetCellValue(WorksheetName, 1, 1)).Return(3);
            provider.Stub(x => x.GetCellValue(WorksheetName, 3, 3)).Return(4);
            var args      = new LookupArguments(3, "A1:A4", 3, 2, false);
            var navigator = LookupNavigatorFactory.Create(LookupDirection.Vertical, args, GetContext(provider));

            Assert.AreEqual(4, navigator.GetLookupValue());
        }
        public void GetLookupValueShouldReturnCorrespondingValueWithOffset()
        {
            var provider = MockRepository.GenerateStub <ExcelDataProvider>();

            provider.Stub(x => x.GetCellValue(0, 0)).Return(new ExcelCell(3, null, 0, 0));
            provider.Stub(x => x.GetCellValue(2, 2)).Return(new ExcelCell(4, null, 0, 0));
            var args      = new LookupArguments(3, "A1:A4", 3, 2, false);
            var navigator = new LookupNavigator(LookupDirection.Vertical, args, GetContext(provider));

            Assert.AreEqual(4, navigator.GetLookupValue());
        }
Example #13
0
        public void GetLookupValueShouldReturnCorrespondingValueWithOffset()
        {
            var provider = A.Fake <ExcelDataProvider>();

            A.CallTo(() => provider.GetDimensionEnd(A <string> .Ignored)).Returns(new ExcelCellAddress(5, 5));
            A.CallTo(() => provider.GetCellValue(WorksheetName, 1, 1)).Returns(3);
            A.CallTo(() => provider.GetCellValue(WorksheetName, 3, 3)).Returns(4);
            var args      = new LookupArguments(3, "A1:A4", 3, 2, false, null);
            var navigator = LookupNavigatorFactory.Create(LookupDirection.Vertical, args, GetContext(provider));

            Assert.AreEqual(4, navigator.GetLookupValue());
        }
 public object Lookup(LookupArguments args)
 {
     return Process (new DebuggerRequest () { Arguments = args, Command = "lookup" }).Body;
 }