feat: enhance documentation for event flow patterns, SoA storage, and argument validation in AGENTS and MODELS

This commit is contained in:
Miha Kralj
2025-12-27 15:56:34 -08:00
parent d7dbd7078a
commit bf99f3caa9
4 changed files with 18 additions and 14 deletions
+12 -13
View File
@@ -1,9 +1,9 @@
namespace QuanTAlib.Tests
namespace QuanTAlib.Tests;
public class TBarSeriesTests
{
public class TBarSeriesTests
{
[Fact]
[Fact]
public void Constructor_Default_CreatesEmptySeries()
{
var series = new TBarSeries();
@@ -340,13 +340,13 @@ namespace QuanTAlib.Tests
public void GetEnumerator_NonGeneric_Works()
{
var series = new TBarSeries();
series.Add(100, 10, 15, 5, 12, 100);
series.Add(200, 20, 25, 15, 22, 200);
IEnumerable enumerable = series;
var list = new List<object>();
foreach (var item in enumerable)
{
series.Add(100, 10, 15, 5, 12, 100, isNew: true);
series.Add(200, 20, 25, 15, 22, 200, isNew: true);
var list = new List<object>();
foreach (var item in (IEnumerable)series)
{
list.Add(item);
}
@@ -406,7 +406,6 @@ namespace QuanTAlib.Tests
Assert.Equal(3, series.Count);
Assert.Equal(100, series[0].Time);
Assert.Equal(200, series[1].Time);
Assert.Equal(300, series[2].Time);
}
Assert.Equal(300, series[2].Time);
}
}
+1 -1
View File
@@ -21,7 +21,6 @@ public readonly struct TBarEventArgs
// We intentionally deviate from the standard EventArgs pattern here for perf.
#pragma warning disable MA0046 // The second parameter must be of type 'System.EventArgs' or a derived type
public delegate void TBarPublishedHandler(object? sender, in TBarEventArgs args);
#pragma warning restore MA0046
public class TBarSeries : IReadOnlyList<TBar>
{
@@ -36,6 +35,7 @@ public class TBarSeries : IReadOnlyList<TBar>
public string Name { get; set; } = "Bar";
public event TBarPublishedHandler? Pub;
#pragma warning restore MA0046
// Note: These views share underlying storage. Do not modify directly; use TBarSeries.Add() instead.
public TSeries Open { get; }