test: setup common stability and robustness properties tracking

This commit is contained in:
Miha Kralj
2026-02-27 12:50:05 -08:00
parent 4ab3a7fb53
commit 769a923a24
287 changed files with 1314 additions and 867 deletions
+1 -1
View File
@@ -380,4 +380,4 @@ public class CcycValidationTests
int finiteCount = values.Count(v => double.IsFinite(v));
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
}
}
}
+1 -1
View File
@@ -338,4 +338,4 @@ public class CgIndicatorTests
double cgValue = indicator.LinesSeries[0].GetValue(0);
Assert.True(cgValue < 0, $"Downtrend should produce negative CG, got {cgValue}");
}
}
}
+1 -1
View File
@@ -755,4 +755,4 @@ public class CgTests
}
#endregion
}
}
+1 -1
View File
@@ -378,4 +378,4 @@ public class CgValidationTests
int finiteCount = values.Count(v => double.IsFinite(v));
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
}
}
}
+1 -1
View File
@@ -339,4 +339,4 @@ public class DspIndicatorTests
Assert.True(positiveCount > 0, "Should have positive DSP values");
Assert.True(negativeCount > 0, "Should have negative DSP values");
}
}
}
+1 -1
View File
@@ -451,4 +451,4 @@ public class DspTests
}
#endregion
}
}
+1 -1
View File
@@ -401,4 +401,4 @@ public class DspValidationTests
int finiteCount = values.Count(v => double.IsFinite(v));
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
}
}
}
+1 -1
View File
@@ -359,4 +359,4 @@ public class EacpIndicatorTests
Assert.True(double.IsFinite(indicatorEnhanced.LinesSeries[0].GetValue(0)));
Assert.True(double.IsFinite(indicatorNormal.LinesSeries[0].GetValue(0)));
}
}
}
+1 -1
View File
@@ -521,4 +521,4 @@ public class EacpTests
}
#endregion
}
}
+1 -1
View File
@@ -419,4 +419,4 @@ public class EacpValidationTests
}
#endregion
}
}
+1 -1
View File
@@ -383,4 +383,4 @@ public class EbswIndicatorTests
// Should have multiple zero crossings for oscillating price
Assert.True(crossings >= 3, $"Should have multiple zero crossings, got {crossings}");
}
}
}
+1 -1
View File
@@ -505,4 +505,4 @@ public class EbswTests
}
#endregion
}
}
+1 -1
View File
@@ -559,4 +559,4 @@ public class EbswValidationTests
int finiteCount = values.Count(v => double.IsFinite(v));
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
}
}
}
+1 -1
View File
@@ -338,4 +338,4 @@ public class HomodIndicatorTests
double cycleValue = indicator.LinesSeries[0].GetValue(0);
Assert.True(double.IsFinite(cycleValue));
}
}
}
+1 -1
View File
@@ -482,4 +482,4 @@ public class HomodTests
}
#endregion
}
}
+1 -1
View File
@@ -378,4 +378,4 @@ public class HomodValidationTests
int finiteCount = values.Count(v => double.IsFinite(v));
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
}
}
}
@@ -42,7 +42,7 @@ public sealed class HtDcperiodValidationTests : IDisposable
var outPeriod = new double[input.Length];
var rc = TALib.Functions.HtDcPeriod(input, 0..^0, outPeriod, out var outRange);
Assert.Equal(Core.RetCode.Success, rc);
Assert.Equal(TALib.Core.RetCode.Success, rc);
var q = new HtDcperiod();
var qSeries = q.Update(_data.Data);
@@ -65,7 +65,7 @@ public sealed class HtDcperiodValidationTests : IDisposable
var outPeriod = new double[input.Length];
var rc = TALib.Functions.HtDcPeriod(input, 0..^0, outPeriod, out var outRange);
Assert.Equal(Core.RetCode.Success, rc);
Assert.Equal(TALib.Core.RetCode.Success, rc);
var streaming = new List<double>(_data.Data.Count);
var q = new HtDcperiod();
@@ -42,7 +42,7 @@ public sealed class HtDcphaseValidationTests : IDisposable
var outPhase = new double[input.Length];
var rc = TALib.Functions.HtDcPhase(input, 0..^0, outPhase, out var outRange);
Assert.Equal(Core.RetCode.Success, rc);
Assert.Equal(TALib.Core.RetCode.Success, rc);
var q = new HtDcphase();
var qSeries = q.Update(_data.Data);
@@ -65,7 +65,7 @@ public sealed class HtDcphaseValidationTests : IDisposable
var outPhase = new double[input.Length];
var rc = TALib.Functions.HtDcPhase(input, 0..^0, outPhase, out var outRange);
Assert.Equal(Core.RetCode.Success, rc);
Assert.Equal(TALib.Core.RetCode.Success, rc);
var streaming = new List<double>(_data.Data.Count);
var q = new HtDcphase();
+1 -1
View File
@@ -292,4 +292,4 @@ public class HtSineIndicatorTests
Assert.Contains("github.com/mihakralj/QuanTAlib", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("HtSine.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
}
}
+1 -1
View File
@@ -487,4 +487,4 @@ public class HtSineTests
}
#endregion
}
}
@@ -42,7 +42,7 @@ public sealed class HtSineValidationTests : IDisposable
var outLeadSine = new double[input.Length];
var retCode = TALib.Functions.HtSine(input, 0..^0, outSine, outLeadSine, out var outRange);
Assert.Equal(Core.RetCode.Success, retCode);
Assert.Equal(TALib.Core.RetCode.Success, retCode);
// Calculate QuanTAlib HtSine
var htSine = new HtSine();
@@ -83,7 +83,7 @@ public sealed class HtSineValidationTests : IDisposable
var outLeadSine = new double[input.Length];
var retCode = TALib.Functions.HtSine(input, 0..^0, outSine, outLeadSine, out var outRange);
Assert.Equal(Core.RetCode.Success, retCode);
Assert.Equal(TALib.Core.RetCode.Success, retCode);
// Calculate QuanTAlib HtSine Streaming
var htSine = new HtSine();
+1 -1
View File
@@ -266,4 +266,4 @@ public class LunarIndicatorTests
Assert.Contains("Lunar.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
}
}
}
+1 -1
View File
@@ -306,4 +306,4 @@ public class LunarTests
Assert.Equal(phase1, phase2, Tolerance);
}
}
}
+1 -1
View File
@@ -259,4 +259,4 @@ public class SolarIndicatorTests
Assert.Contains("Solar.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
}
}
}
+1 -1
View File
@@ -295,4 +295,4 @@ public class SolarTests
Assert.True(cycle > 0.95, $"Expected cycle > 0.95 at 2000 summer solstice, got {cycle}");
}
}
}
+1 -1
View File
@@ -269,4 +269,4 @@ public class SsfdspIndicatorTests
Assert.Contains("github.com/mihakralj/QuanTAlib", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Ssfdsp.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
}
}
+1 -1
View File
@@ -500,4 +500,4 @@ public class SsfdspTests
}
#endregion
}
}
+1 -1
View File
@@ -352,4 +352,4 @@ public class SsfdspValidationTests
}
#endregion
}
}