public void EomonthWithZerosForInput() { var function = new Eomonth(); var result = function.Execute(FunctionsHelper.CreateArgs(0, 0), this.ParsingContext); Assert.AreEqual(31d, result.Result); }
public void EomonthWithGarbageStringAsOffsetArgumentReturnsPoundValue() { var function = new Eomonth(); var result = function.Execute(FunctionsHelper.CreateArgs(0, "garbage"), this.ParsingContext); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type); }
public void EomonthOffsetPlusOADateGeneratesInvalidDateReturnsPoundNum() { var function = new Eomonth(); var result = function.Execute(FunctionsHelper.CreateArgs(1, -1), this.ParsingContext); Assert.AreEqual(eErrorType.Num, ((ExcelErrorValue)result.Result).Type); }
public void EomonthNullSecondArgumentReturnsPoundNA() { var function = new Eomonth(); var result = function.Execute(FunctionsHelper.CreateArgs(0, null), this.ParsingContext); Assert.AreEqual(eErrorType.NA, ((ExcelErrorValue)result.Result).Type); }
public void EomonthDateWithFractionInputReturnsCorrectValue() { var function = new Eomonth(); var result = function.Execute(FunctionsHelper.CreateArgs(0.3, 1), this.ParsingContext); Assert.AreEqual(59d, result.Result); }
public void EomonthOnFebruary291900ReturnsFebruary28() { var function = new Eomonth(); // OADate 60 in Excel represents 2/29/1900, a day that never actually happened but existed in Lotus 1-2-3. var result = function.Execute(FunctionsHelper.CreateArgs(60, 0), this.ParsingContext); Assert.AreEqual(59d, result.Result); }
public void EomonthWithDateNotAsStringReturnsCorrectValue() { var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs(5 / 15 / 2017, 1); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(59d, result.Result); }
public void EomonthReturnsEndOfMonthWitZeroOffsetFromDateTime() { var function = new Eomonth(); var date = new DateTime(2013, 2, 4); var result = function.Execute(FunctionsHelper.CreateArgs(date, 0.0), this.ParsingContext); Assert.AreEqual(new DateTime(2013, 2, 28).ToOADate(), result.Result); }
public void EomonthWithMonthArgumentAsDoubleReturnsCorrectValue() { var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs("5/15/2017", 20.6); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(43496d, result.Result); }
public void EomonthWithMonthArgumentAsDateNotAsStringReturnsCorretValue() { var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs("5/15/2017", 6 / 25 / 2017); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(42886d, result.Result); }
public void EomonthWithMonthArgumentAsDateWrittenOutReturnsCorrectValue() { var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs("5/15/2017", "25 JUN 2017"); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(1348962d, result.Result); }
public void EomonthWithDateWithPeriodsInsteadOfSlashesReturnsCorrectValue() { var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs("5.15.2017", 1); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(42916d, result.Result); }
public void EomonthWithZeroInputReturnsCorrectValue() { var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs(0.0, 1); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(59d, result.Result); }
public void EomonthWithoutArgumentsReturnsPoundValue() { var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs(); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type); }
public void EomonthShouldReturnCorrectResultWithNegativeArg() { var func = new Eomonth(); var arg = new DateTime(2013, 2, 2).ToOADate(); var result = func.Execute(FunctionsHelper.CreateArgs(arg, -3), _parsingContext); Assert.AreEqual(41243d, result.Result); }
public void EomonthWithMonthArgumentAsDateFunctionReturnsCorretValue() { var function = new Eomonth(); var endDate = new DateTime(2017, 6, 25); var arguments = FunctionsHelper.CreateArgs("5/15/2017", endDate); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(1348962d, result.Result); }
public void EomonthWithStringDateFirstArgument() { var function = new Eomonth(); var dateString = "4 FEB 2013"; var result = function.Execute(FunctionsHelper.CreateArgs(dateString, 0), this.ParsingContext); var expected = new DateTime(2013, 2, 28); Assert.AreEqual(expected.ToOADate(), result.Result); }
public void EomonthWithLargeStringDateAsOffset() { var function = new Eomonth(); var date = new DateTime(2013, 2, 4); var result = function.Execute(FunctionsHelper.CreateArgs(date, "1/12/2017"), this.ParsingContext); var expected = new DateTime(5575, 5, 31); Assert.AreEqual(expected.ToOADate(), result.Result); }
public void EomonthWithSmallDateAsSecondArgument() { var function = new Eomonth(); var date = new DateTime(2013, 2, 4); var offsetDate = new DateTime(1900, 1, 12); var result = function.Execute(FunctionsHelper.CreateArgs(date, offsetDate), this.ParsingContext); var expected = new DateTime(2014, 2, 28); Assert.AreEqual(expected.ToOADate(), result.Result); }
public void EomonthOnFeb291900AsDateReturnsFebruary28() { // This functionality is different from that of Excel's. This date, 2/29/1900 is not a real date however // Excel supports using this date as and argument in the EOMONTH Function. Since it is not a real date // EPPlus has been written to not support it as an argument and thus returns an error of type #VALUE! var function = new Eomonth(); var result = function.Execute(FunctionsHelper.CreateArgs("2/29/1900", 1), this.ParsingContext); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)result.Result).Type); }
public void EomonthReturnsEndOfMonthWithPositiveOffset() { var function = new Eomonth(); var date = new DateTime(2013, 2, 4).ToOADate(); var result = function.Execute(FunctionsHelper.CreateArgs(date, 3), this.ParsingContext); Assert.AreEqual(41425d, result.Result); var resultDate = DateTime.FromOADate(result.ResultNumeric); Assert.AreEqual(5, resultDate.Month); }
public void EomonthWithNegativeOffsetReturnsCorrectValue() { var function = new Eomonth(); var date = new DateTime(2013, 2, 4).ToOADate(); var result = function.Execute(FunctionsHelper.CreateArgs(date, -3), this.ParsingContext); Assert.AreEqual(41243d, result.Result); var resultDate = DateTime.FromOADate(result.ResultNumeric); Assert.AreEqual(11, resultDate.Month); Assert.AreEqual(30, resultDate.Day); Assert.AreEqual(2012, resultDate.Year); }
public void EoMonthWithGermanCultureReturnCorrectValue() { var currentCulture = Thread.CurrentThread.CurrentCulture; try { Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de-DE"); var function = new Eomonth(); var arguments = FunctionsHelper.CreateArgs("15.5.2017", 20); var result = function.Execute(arguments, this.ParsingContext); Assert.AreEqual(43496d, result.Result); } finally { Thread.CurrentThread.CurrentCulture = currentCulture; } }
public void EomonthFunctionWithErrorValuesAsInputReturnsTheInputErrorValue() { var func = new Eomonth(); var argNA = FunctionsHelper.CreateArgs(ExcelErrorValue.Create(eErrorType.NA), 2); var argNAME = FunctionsHelper.CreateArgs(ExcelErrorValue.Create(eErrorType.Name), 2); var argVALUE = FunctionsHelper.CreateArgs(ExcelErrorValue.Create(eErrorType.Value), 2); var argNUM = FunctionsHelper.CreateArgs(ExcelErrorValue.Create(eErrorType.Num), 2); var argDIV0 = FunctionsHelper.CreateArgs(ExcelErrorValue.Create(eErrorType.Div0), 2); var argREF = FunctionsHelper.CreateArgs(ExcelErrorValue.Create(eErrorType.Ref), 2); var resultNA = func.Execute(argNA, this.ParsingContext); var resultNAME = func.Execute(argNAME, this.ParsingContext); var resultVALUE = func.Execute(argVALUE, this.ParsingContext); var resultNUM = func.Execute(argNUM, this.ParsingContext); var resultDIV0 = func.Execute(argDIV0, this.ParsingContext); var resultREF = func.Execute(argREF, this.ParsingContext); Assert.AreEqual(eErrorType.NA, ((ExcelErrorValue)resultNA.Result).Type); Assert.AreEqual(eErrorType.Name, ((ExcelErrorValue)resultNAME.Result).Type); Assert.AreEqual(eErrorType.Value, ((ExcelErrorValue)resultVALUE.Result).Type); Assert.AreEqual(eErrorType.Num, ((ExcelErrorValue)resultNUM.Result).Type); Assert.AreEqual(eErrorType.Div0, ((ExcelErrorValue)resultDIV0.Result).Type); Assert.AreEqual(eErrorType.Ref, ((ExcelErrorValue)resultREF.Result).Type); }