diff --git a/src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs b/src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs index 258266cd..5bc6cbfb 100644 --- a/src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs +++ b/src/dotnet/QuantEngine.Core.Tests/FactorCalculatorTests.cs @@ -109,5 +109,21 @@ namespace QuantEngine.Core.Tests Assert.Equal(expectedStDev, outputs.StDev20D, 5); } + + [Fact] + public void CalculateFactors_UnsortedInput_ProducesSameOutputs() + { + var stock = CreateMockBars("005930", 100.0, 1.0, 130); + var index = CreateMockBars("KOSPI", 2000.0, 0.0, 130); + + stock.Reverse(); + index.Reverse(); + + var outputs = FactorCalculator.CalculateFactors(stock, index); + + double expectedMom20 = (20.0 / 209.0) * 100.0; + Assert.Equal(expectedMom20, outputs.Momentum20D, 5); + Assert.Equal(1.0, outputs.Beta60D); + } } }