Refactor tests and project files for improved consistency and clarity

This commit is contained in:
Miha Kralj
2025-12-27 18:09:04 -08:00
parent bf99f3caa9
commit f2487ced04
58 changed files with 863 additions and 276 deletions
+2 -2
View File
@@ -34,8 +34,8 @@ public class AlmaIndicatorTests
{
var indicator = new AlmaIndicator { Period = 15 };
Assert.Contains("ALMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("ALMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
+2 -2
View File
@@ -32,8 +32,8 @@ public class BesselIndicatorTests
{
var indicator = new BesselIndicator { Length = 15 };
Assert.Contains("BESSEL", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("BESSEL", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -34,8 +34,8 @@ public class BilateralIndicatorTests
{
var indicator = new BilateralIndicator { Period = 15 };
Assert.Contains("Bilateral", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("Bilateral", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -43,8 +43,8 @@ public class BilateralIndicatorTests
{
var indicator = new BilateralIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Bilateral.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Bilateral.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+4 -4
View File
@@ -34,8 +34,8 @@ public class BlmaIndicatorTests
var indicator = new BlmaIndicator { Period = 20 };
indicator.Initialize();
Assert.Contains("BLMA", indicator.ShortName);
Assert.Contains("20", indicator.ShortName);
Assert.Contains("BLMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("20", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -43,8 +43,8 @@ public class BlmaIndicatorTests
{
var indicator = new BlmaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Blma.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Blma.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+4 -4
View File
@@ -35,8 +35,8 @@ public class ButterIndicatorTests
var indicator = new ButterIndicator { Period = 20 };
indicator.Initialize();
Assert.Contains("BUTTER", indicator.ShortName);
Assert.Contains("20", indicator.ShortName);
Assert.Contains("BUTTER", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("20", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -44,8 +44,8 @@ public class ButterIndicatorTests
{
var indicator = new ButterIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Butter.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Butter.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+5 -5
View File
@@ -33,8 +33,8 @@ public class ConvIndicatorTests
{
var indicator = new ConvIndicator();
Assert.Contains("CONV", indicator.ShortName);
Assert.Contains("Close", indicator.ShortName);
Assert.Contains("CONV", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("Close", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -42,8 +42,8 @@ public class ConvIndicatorTests
{
var indicator = new ConvIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Conv.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Conv.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
@@ -172,6 +172,6 @@ public class ConvIndicatorTests
{
var indicator = new ConvIndicator();
Assert.Contains("Convolution", indicator.Description);
Assert.Contains("Convolution", indicator.Description, StringComparison.Ordinal);
}
}
+2 -5
View File
@@ -43,13 +43,10 @@ public class ConvIndicator : Indicator, IWatchlistIndicator
try
{
var weights = WeightsInput.Split(',')
.Select(s => double.Parse(s.Trim()))
.Select(s => double.Parse(s.Trim(), System.Globalization.CultureInfo.InvariantCulture))
.ToArray();
if (weights.Length == 0)
throw new ArgumentException("Weights cannot be empty");
_conv = new Conv(weights);
_conv = new Conv(weights.Length == 0 ? [1.0] : weights);
}
catch (FormatException)
{
+4 -4
View File
@@ -32,8 +32,8 @@ public class DemaIndicatorTests
{
var indicator = new DemaIndicator { Period = 15 };
Assert.Contains("DEMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("DEMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -41,8 +41,8 @@ public class DemaIndicatorTests
{
var indicator = new DemaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Dema.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Dema.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+4 -4
View File
@@ -32,8 +32,8 @@ public class DwmaIndicatorTests
{
var indicator = new DwmaIndicator { Period = 15 };
Assert.Contains("DWMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("DWMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -41,8 +41,8 @@ public class DwmaIndicatorTests
{
var indicator = new DwmaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Dwma.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Dwma.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+2 -2
View File
@@ -32,8 +32,8 @@ public class EmaIndicatorTests
{
var indicator = new EmaIndicator { Period = 15 };
Assert.Contains("EMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("EMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
+4 -4
View File
@@ -33,8 +33,8 @@ public class HmaIndicatorTests
{
var indicator = new HmaIndicator { Period = 21 };
Assert.Contains("HMA", indicator.ShortName);
Assert.Contains("21", indicator.ShortName);
Assert.Contains("HMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("21", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -42,8 +42,8 @@ public class HmaIndicatorTests
{
var indicator = new HmaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Hma.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Hma.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+2 -2
View File
@@ -13,8 +13,8 @@ public class HtitIndicatorTests
var indicator = new HtitIndicator();
indicator.Initialize();
Assert.Equal("HTIT - Ehlers Hilbert Transform Instantaneous Trend", indicator.Name);
Assert.StartsWith("HTIT", indicator.ShortName);
Assert.Contains("Close", indicator.ShortName);
Assert.StartsWith("HTIT", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("Close", indicator.ShortName, StringComparison.Ordinal);
Assert.Equal(0, HtitIndicator.MinHistoryDepths);
Assert.Single(indicator.LinesSeries);
}
+5 -5
View File
@@ -33,9 +33,9 @@ public class JmaIndicatorTests
{
var indicator = new JmaIndicator { Period = 15, Phase = 50 };
Assert.Contains("JMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("50", indicator.ShortName);
Assert.Contains("JMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("50", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -43,8 +43,8 @@ public class JmaIndicatorTests
{
var indicator = new JmaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Jma.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Jma.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+2 -2
View File
@@ -34,8 +34,8 @@ public class KamaIndicatorTests
{
var indicator = new KamaIndicator { Period = 15 };
Assert.Contains("KAMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("KAMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
+4 -4
View File
@@ -33,8 +33,8 @@ public class LsmaIndicatorTests
{
var indicator = new LsmaIndicator { Period = 15, Offset = 2 };
Assert.Contains("LSMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("LSMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -42,8 +42,8 @@ public class LsmaIndicatorTests
{
var indicator = new LsmaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Lsma.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Lsma.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+2 -2
View File
@@ -34,8 +34,8 @@ public class MamaIndicatorTests
var indicator = new MamaIndicator { FastLimit = 0.5, SlowLimit = 0.05 };
indicator.Initialize();
Assert.Contains("MAMA", indicator.ShortName);
Assert.Contains("Close", indicator.ShortName);
Assert.Contains("MAMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("Close", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
+4 -4
View File
@@ -34,8 +34,8 @@ public class PwmaIndicatorTests
{
var indicator = new PwmaIndicator { Period = 15 };
Assert.Contains("PWMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("PWMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -43,8 +43,8 @@ public class PwmaIndicatorTests
{
var indicator = new PwmaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Pwma.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Pwma.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+2 -2
View File
@@ -32,8 +32,8 @@ public class RmaIndicatorTests
{
var indicator = new RmaIndicator { Period = 15 };
Assert.Contains("RMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("RMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
+2 -2
View File
@@ -32,8 +32,8 @@ public class SmaIndicatorTests
{
var indicator = new SmaIndicator { Period = 15 };
Assert.Contains("SMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("SMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
+2 -2
View File
@@ -32,8 +32,8 @@ public class SsfIndicatorTests
{
var indicator = new SsfIndicator { Period = 15 };
Assert.Contains("SSF", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("SSF", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
+5 -5
View File
@@ -35,9 +35,9 @@ public class SuperIndicatorTests
var indicator = new SuperIndicator { Period = 20, Multiplier = 2.5 };
indicator.Initialize();
Assert.Contains("Super", indicator.ShortName);
Assert.Contains("20", indicator.ShortName);
Assert.Contains("2.5", indicator.ShortName);
Assert.Contains("Super", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("20", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("2.5", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -45,8 +45,8 @@ public class SuperIndicatorTests
{
var indicator = new SuperIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Super.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Super.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+3 -3
View File
@@ -34,9 +34,9 @@ public class T3IndicatorTests
{
var indicator = new T3Indicator { Period = 15, VolumeFactor = 0.618 };
Assert.Contains("T3", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("0.62", indicator.ShortName); // F2 formatting
Assert.Contains("T3", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("0.62", indicator.ShortName, StringComparison.Ordinal); // F2 formatting
}
[Fact]
+4 -4
View File
@@ -32,8 +32,8 @@ public class TemaIndicatorTests
{
var indicator = new TemaIndicator { Period = 15 };
Assert.Contains("TEMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("TEMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -41,8 +41,8 @@ public class TemaIndicatorTests
{
var indicator = new TemaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Tema.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Tema.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
+5 -5
View File
@@ -32,8 +32,8 @@ public class TrimaIndicatorTests
{
var indicator = new TrimaIndicator { Period = 15 };
Assert.Contains("TRIMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("TRIMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -41,8 +41,8 @@ public class TrimaIndicatorTests
{
var indicator = new TrimaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Trima.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Trima.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
@@ -179,6 +179,6 @@ public class TrimaIndicatorTests
{
var indicator = new TrimaIndicator();
Assert.Contains("Triangular", indicator.Description);
Assert.Contains("Triangular", indicator.Description, StringComparison.Ordinal);
}
}
+2 -2
View File
@@ -32,8 +32,8 @@ public class VidyaIndicatorTests
{
var indicator = new VidyaIndicator { Period = 15 };
Assert.Contains("VIDYA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("VIDYA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
+5 -5
View File
@@ -32,8 +32,8 @@ public class WmaIndicatorTests
{
var indicator = new WmaIndicator { Period = 15 };
Assert.Contains("WMA", indicator.ShortName);
Assert.Contains("15", indicator.ShortName);
Assert.Contains("WMA", indicator.ShortName, StringComparison.Ordinal);
Assert.Contains("15", indicator.ShortName, StringComparison.Ordinal);
}
[Fact]
@@ -41,8 +41,8 @@ public class WmaIndicatorTests
{
var indicator = new WmaIndicator();
Assert.Contains("github.com", indicator.SourceCodeLink);
Assert.Contains("Wma.Quantower.cs", indicator.SourceCodeLink);
Assert.Contains("github.com", indicator.SourceCodeLink, StringComparison.Ordinal);
Assert.Contains("Wma.Quantower.cs", indicator.SourceCodeLink, StringComparison.Ordinal);
}
[Fact]
@@ -180,6 +180,6 @@ public class WmaIndicatorTests
{
var indicator = new WmaIndicator();
Assert.Contains("Weighted", indicator.Description);
Assert.Contains("Weighted", indicator.Description, StringComparison.Ordinal);
}
}