From 29929d76d3bc99c48e0859333ee16a595affc8c2 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Mon, 13 Jul 2026 00:19:11 +0900 Subject: [PATCH] test(dotnet): cover factor calculator input ordering --- .../FactorCalculatorTests.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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); + } } }