mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-22 12:38:06 +00:00
test: setup common stability and robustness properties tracking
This commit is contained in:
@@ -387,7 +387,7 @@ public sealed class AccBandsValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.AccbandsLookback(period);
|
||||
|
||||
@@ -432,7 +432,7 @@ public sealed class AccBandsValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.AccbandsLookback(period);
|
||||
|
||||
@@ -466,7 +466,7 @@ public sealed class AccBandsValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
var (qMiddle, qUpper, qLower) = AccBands.Batch(_testData.Bars, period, 4.0);
|
||||
|
||||
|
||||
@@ -180,7 +180,7 @@ public sealed class AtrBandsValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.SmaLookback(period);
|
||||
|
||||
@@ -215,7 +215,7 @@ public sealed class AtrBandsValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.AtrLookback(period);
|
||||
var (offset, _) = outRange.GetOffsetAndLength(atrOutput.Length);
|
||||
|
||||
@@ -140,9 +140,9 @@ public sealed class BbandsValidationTests : IDisposable
|
||||
period,
|
||||
multiplier,
|
||||
multiplier,
|
||||
Core.MAType.Sma);
|
||||
TALib.Core.MAType.Sma);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.BbandsLookback(period);
|
||||
|
||||
@@ -185,9 +185,9 @@ public sealed class BbandsValidationTests : IDisposable
|
||||
period,
|
||||
multiplier,
|
||||
multiplier,
|
||||
Core.MAType.Sma);
|
||||
TALib.Core.MAType.Sma);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.BbandsLookback(period);
|
||||
|
||||
@@ -228,9 +228,9 @@ public sealed class BbandsValidationTests : IDisposable
|
||||
period,
|
||||
multiplier,
|
||||
multiplier,
|
||||
Core.MAType.Sma);
|
||||
TALib.Core.MAType.Sma);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.BbandsLookback(period);
|
||||
|
||||
|
||||
@@ -347,4 +347,4 @@ public sealed class DchannelValidationTests : IDisposable
|
||||
int finiteCount = values.Count(v => double.IsFinite(v));
|
||||
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -392,4 +392,4 @@ public sealed class FcbValidationTests : IDisposable
|
||||
int finiteCount = values.Count(v => double.IsFinite(v));
|
||||
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -556,4 +556,4 @@ public sealed class KchannelValidationTests : IDisposable
|
||||
int finiteCount = values.Count(v => double.IsFinite(v));
|
||||
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ public class MaenvIndicatorTests
|
||||
|
||||
Assert.Equal(20, ind.Period);
|
||||
Assert.Equal(1.0, ind.Percentage);
|
||||
Assert.Equal(MaenvType.EMA, ind.MaType);
|
||||
Assert.Equal(MaenvType.EMA, ind.maType);
|
||||
Assert.Equal(PriceType.Close, ind.SourceType);
|
||||
Assert.True(ind.ShowColdValues);
|
||||
Assert.Equal("Maenv - Moving Average Envelope", ind.Name);
|
||||
@@ -30,7 +30,7 @@ public class MaenvIndicatorTests
|
||||
[Fact]
|
||||
public void ShortName_ReflectsParameters()
|
||||
{
|
||||
var ind = new MaenvIndicator { Period = 12, Percentage = 2.5, MaType = MaenvType.SMA };
|
||||
var ind = new MaenvIndicator { Period = 12, Percentage = 2.5, maType = MaenvType.SMA };
|
||||
Assert.Contains("12", ind.ShortName, StringComparison.Ordinal);
|
||||
Assert.Contains("2.5", ind.ShortName, StringComparison.Ordinal);
|
||||
Assert.Contains("SMA", ind.ShortName, StringComparison.Ordinal);
|
||||
@@ -209,11 +209,11 @@ public class MaenvIndicatorTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AllMaTypes_ProduceFiniteResults()
|
||||
public void AllmaTypes_ProduceFiniteResults()
|
||||
{
|
||||
foreach (MaenvType maType in Enum.GetValues<MaenvType>())
|
||||
{
|
||||
var ind = new MaenvIndicator { Period = 10, Percentage = 2.0, MaType = maType };
|
||||
var ind = new MaenvIndicator { Period = 10, Percentage = 2.0, maType = maType };
|
||||
ind.Initialize();
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
|
||||
@@ -347,7 +347,7 @@ public class MaenvTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Maenv_AllMaTypes_ProduceFiniteResults()
|
||||
public void Maenv_AllmaTypes_ProduceFiniteResults()
|
||||
{
|
||||
var gbm = new GBM(startPrice: 100, mu: 0.01, sigma: 0.1, seed: 42);
|
||||
|
||||
|
||||
@@ -440,7 +440,7 @@ public sealed class MaenvValidationTests : IDisposable
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Validate_MaTypesDifferent()
|
||||
public void Validate_maTypesDifferent()
|
||||
{
|
||||
// Different MA types should produce different results (except for first bar)
|
||||
var indSma = new Maenv(10, 2.0, MaenvType.SMA);
|
||||
@@ -595,4 +595,4 @@ public sealed class MaenvValidationTests : IDisposable
|
||||
int finiteCount = values.Count(v => double.IsFinite(v));
|
||||
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -559,7 +559,7 @@ public sealed class RegchannelValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.LinearRegLookback(period);
|
||||
|
||||
@@ -593,7 +593,7 @@ public sealed class RegchannelValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.LinearRegSlopeLookback(period);
|
||||
|
||||
|
||||
@@ -650,4 +650,4 @@ public sealed class SdchannelValidationTests : IDisposable
|
||||
int finiteCount = values.Count(v => double.IsFinite(v));
|
||||
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -680,4 +680,4 @@ public sealed class StarchannelValidationTests : IDisposable
|
||||
int finiteCount = values.Count(v => double.IsFinite(v));
|
||||
Assert.True(finiteCount > 100, $"Expected >100 finite values, got {finiteCount}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -671,7 +671,7 @@ public sealed class TtmLrcValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.LinearRegLookback(period);
|
||||
|
||||
@@ -704,7 +704,7 @@ public sealed class TtmLrcValidationTests : IDisposable
|
||||
out var outRange,
|
||||
period);
|
||||
|
||||
Assert.Equal(Core.RetCode.Success, retCode);
|
||||
Assert.Equal(TALib.Core.RetCode.Success, retCode);
|
||||
|
||||
int lookback = Functions.LinearRegSlopeLookback(period);
|
||||
var (offset, _) = outRange.GetOffsetAndLength(slopeOutput.Length);
|
||||
|
||||
Reference in New Issue
Block a user