mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-19 11:08:05 +00:00
63 lines
1.7 KiB
C#
63 lines
1.7 KiB
C#
using TradingPlatform.BusinessLayer;
|
||
using Xunit;
|
||
|
||
namespace QuanTAlib.Tests;
|
||
|
||
public class RocpIndicatorTests
|
||
{
|
||
[Fact]
|
||
public void Constructor_InitializesDefaults()
|
||
{
|
||
var indicator = new RocpIndicator();
|
||
Assert.Equal(9, indicator.Period);
|
||
Assert.Equal(SourceType.Close, indicator.Source);
|
||
Assert.True(indicator.ShowColdValues);
|
||
Assert.Equal("ROCP - Rate of Change Percentage", indicator.Name);
|
||
Assert.Contains("100 × (current - past) / past", indicator.Description, StringComparison.Ordinal);
|
||
Assert.True(indicator.SeparateWindow);
|
||
Assert.False(indicator.OnBackGround);
|
||
}
|
||
|
||
[Fact]
|
||
public void ShortName_ReflectsPeriod()
|
||
{
|
||
var indicator = new RocpIndicator { Period = 14 };
|
||
Assert.Equal("ROCP(14)", indicator.ShortName);
|
||
}
|
||
|
||
[Fact]
|
||
public void MinHistoryDepths_IsPeriodPlusOne()
|
||
{
|
||
var indicator = new RocpIndicator { Period = 9 };
|
||
Assert.Equal(10, indicator.MinHistoryDepths);
|
||
}
|
||
|
||
[Fact]
|
||
public void MinHistoryDepths_MatchesWatchlistInterface()
|
||
{
|
||
var indicator = new RocpIndicator { Period = 17 };
|
||
Assert.Equal(18, ((IWatchlistIndicator)indicator).MinHistoryDepths);
|
||
}
|
||
|
||
[Fact]
|
||
public void Period_CanBeSet()
|
||
{
|
||
var indicator = new RocpIndicator { Period = 20 };
|
||
Assert.Equal(20, indicator.Period);
|
||
}
|
||
|
||
[Fact]
|
||
public void Source_CanBeSet()
|
||
{
|
||
var indicator = new RocpIndicator { Source = SourceType.Open };
|
||
Assert.Equal(SourceType.Open, indicator.Source);
|
||
}
|
||
|
||
[Fact]
|
||
public void ShowColdValues_CanBeSet()
|
||
{
|
||
var indicator = new RocpIndicator { ShowColdValues = false };
|
||
Assert.False(indicator.ShowColdValues);
|
||
}
|
||
}
|