mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-14 00:28:05 +00:00
77 lines
2.2 KiB
C#
77 lines
2.2 KiB
C#
using System;
|
|
using Xunit;
|
|
using QuanTAlib;
|
|
|
|
namespace QuanTAlib.Tests
|
|
{
|
|
public class TBarTests
|
|
{
|
|
[Fact]
|
|
public void Constructor_SetsPropertiesCorrectly()
|
|
{
|
|
long time = DateTime.UtcNow.Ticks;
|
|
double open = 100;
|
|
double high = 110;
|
|
double low = 90;
|
|
double close = 105;
|
|
double volume = 1000;
|
|
|
|
var bar = new TBar(time, open, high, low, close, volume);
|
|
|
|
Assert.Equal(time, bar.Time);
|
|
Assert.Equal(open, bar.Open);
|
|
Assert.Equal(high, bar.High);
|
|
Assert.Equal(low, bar.Low);
|
|
Assert.Equal(close, bar.Close);
|
|
Assert.Equal(volume, bar.Volume);
|
|
}
|
|
|
|
[Fact]
|
|
public void HL2_CalculatesCorrectly()
|
|
{
|
|
var bar = new TBar(0, 100, 110, 90, 105, 1000);
|
|
Assert.Equal(100.0, bar.HL2); // (110 + 90) / 2
|
|
}
|
|
|
|
[Fact]
|
|
public void OHL3_CalculatesCorrectly()
|
|
{
|
|
var bar = new TBar(0, 100, 110, 90, 105, 1000);
|
|
Assert.Equal(100.0, bar.OHL3); // (100 + 110 + 90) / 3
|
|
}
|
|
|
|
[Fact]
|
|
public void HLC3_CalculatesCorrectly()
|
|
{
|
|
var bar = new TBar(0, 100, 110, 90, 100, 1000);
|
|
Assert.Equal(100.0, bar.HLC3); // (110 + 90 + 100) / 3
|
|
}
|
|
|
|
[Fact]
|
|
public void OHLC4_CalculatesCorrectly()
|
|
{
|
|
var bar = new TBar(0, 100, 110, 90, 100, 1000);
|
|
Assert.Equal(100.0, bar.OHLC4); // (100 + 110 + 90 + 100) / 4
|
|
}
|
|
|
|
[Fact]
|
|
public void HLCC4_CalculatesCorrectly()
|
|
{
|
|
var bar = new TBar(0, 100, 110, 90, 100, 1000);
|
|
Assert.Equal(100.0, bar.HLCC4); // (110 + 90 + 100 + 100) / 4
|
|
}
|
|
|
|
[Fact]
|
|
public void ImplicitConversion_ToTValue_ReturnsClosePriceWithTime()
|
|
{
|
|
long time = DateTime.UtcNow.Ticks;
|
|
var bar = new TBar(time, 100, 110, 90, 105, 1000);
|
|
|
|
TValue tv = bar;
|
|
|
|
Assert.Equal(time, tv.Time);
|
|
Assert.Equal(105.0, tv.Value);
|
|
}
|
|
}
|
|
}
|