示例#1
0
 public void SumIfNumericExpression()
 {
     _worksheet.Cells["A1"].Value = null;
     _worksheet.Cells["A2"].Value = 1d;
     _worksheet.Cells["A3"].Value = "Not Empty";
     var func = new SumIf();
     IRangeInfo range = _provider.GetRange(_worksheet.Name, 1, 1, 3, 1);
     var args = FunctionsHelper.CreateArgs(range, 1d);
     var result = func.Execute(args, _parsingContext);
     Assert.AreEqual(1d, result.Result);
 }
示例#2
0
 public void SumIfNonNumeric()
 {
     _worksheet.Cells["A1"].Value = "Monday";
     _worksheet.Cells["A2"].Value = "Tuesday";
     _worksheet.Cells["A3"].Value = "Thursday";
     _worksheet.Cells["B1"].Value = 1d;
     _worksheet.Cells["B2"].Value = 3d;
     _worksheet.Cells["B3"].Value = 5d;
     var func = new SumIf();
     IRangeInfo range1 = _provider.GetRange(_worksheet.Name, 1, 1, 3, 1);
     IRangeInfo range2 = _provider.GetRange(_worksheet.Name, 1, 2, 3, 2);
     var args = FunctionsHelper.CreateArgs(range1, "T*day", range2);
     var result = func.Execute(args, _parsingContext);
     Assert.AreEqual(8d, result.Result);
 }
示例#3
0
 public void SumIfNotEqualToNull()
 {
     _worksheet.Cells["A1"].Value = null;
     _worksheet.Cells["A2"].Value = string.Empty;
     _worksheet.Cells["A3"].Value = "Not Empty";
     _worksheet.Cells["B1"].Value = 1d;
     _worksheet.Cells["B2"].Value = 3d;
     _worksheet.Cells["B3"].Value = 5d;
     var func = new SumIf();
     IRangeInfo range1 = _provider.GetRange(_worksheet.Name, 1, 1, 3, 1);
     IRangeInfo range2 = _provider.GetRange(_worksheet.Name, 1, 2, 3, 2);
     var args = FunctionsHelper.CreateArgs(range1, "<>", range2);
     var result = func.Execute(args, _parsingContext);
     Assert.AreEqual(8d, result.Result);
 }
 public void SumIfShouldThrowIfCriteriaIsLargerThan255Chars()
 {
     var longString = "a";
     for (var x = 0; x < 256; x++) { longString = string.Concat(longString, "a"); }
     var func = new SumIf();
     var args = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(3, 4, 5), longString, (FunctionsHelper.CreateArgs(3, 2, 1)));
     var result = func.Execute(args, _parsingContext);
 }
 public void SumIfShouldCalculateWithExpression()
 {
     var func = new SumIf();
     var args = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(3, 4, 5), ">3");
     var result = func.Execute(args, _parsingContext);
     Assert.AreEqual(9d, result.Result);
 }
 public void SumIfShouldCalculateMatchingValuesOnly()
 {
     var func = new SumIf();
     var args = FunctionsHelper.CreateArgs(FunctionsHelper.CreateArgs(3, 4, 5), "4");
     var result = func.Execute(args, _parsingContext);
     Assert.AreEqual(4d, result.Result);
 }