Skip to content

Commit 1abbcf3

Browse files
authored
Fixed bug in FACT function. Issue: #2238 (#2242)
1 parent 1847c91 commit 1abbcf3

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

  • src

src/EPPlus/FormulaParsing/Excel/Functions/MathFunctions/Fact.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public override CompileResult Execute(IList<FunctionArgument> arguments, Parsing
3232
if (e1 != null) return CompileResult.GetErrorResult(e1.Type);
3333
if (number < 0) return CompileResult.GetErrorResult(eErrorType.NA);
3434
var result = 1d;
35-
for (var x = 1; x < number; x++)
35+
for (var x = 1; x <= number; x++)
3636
{
3737
result *= x;
3838
}

src/EPPlusTest/FormulaParsing/IntegrationTests/BuiltInFunctions/MathFunctionsTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Date Author Change
3434
using OfficeOpenXml.FormulaParsing;
3535
using OfficeOpenXml;
3636
using FakeItEasy;
37+
using FakeItEasy.Configuration;
3738

3839
namespace EPPlusTest.FormulaParsing.IntegrationTests.BuiltInFunctions
3940
{
@@ -561,6 +562,13 @@ public void FactShouldReturnAResult()
561562
Assert.AreEqual(1d, result);
562563
}
563564

565+
[TestMethod]
566+
public void FactShouldReturnCorrectResult()
567+
{
568+
var result = _parser.Parse("Fact(5)");
569+
Assert.AreEqual(120d, result);
570+
}
571+
564572
[TestMethod]
565573
public void FactDoubleShouldReturnAResult()
566574
{

0 commit comments

Comments
 (0)