testing-standards
Testing standards
Base class selection
| Style | Base Class |
|---|---|
| Series | StaticSeriesTestBase |
| Buffer | BufferListTestBase |
| Stream | StreamHubTestBase |
| Other | TestBase |
Test naming
Pattern: MethodName_StateUnderTest_ExpectedBehavior
Required abstract methods
Compile errors if missing. Additional tests are developer discretion.
Series (StaticSeriesTestBase):
DefaultParameters_ReturnsExpectedResults()BadQuotes_DoesNotFail()NoQuotes_ReturnsEmpty()
Buffer (BufferListTestBase):
PruneList_OverMaxListSize_AutoAdjustsListAndBuffers()Clear_WithState_ResetsState()- Plus interface methods from
ITestQuoteBufferListorITestChainBufferList(see patterns reference)
Stream (StreamHubTestBase):
ToStringOverride_ReturnsExpectedName()- Plus interface methods from
ITestQuoteObserver,ITestChainObserver, and/orITestChainProvider(see patterns reference)
Test data
Data.GetDefault() — 502 quotes. Use consistently across all tests.
See references/patterns.md for FluentAssertions patterns, precision constants, and full BufferList/StreamHub interface method lists.
More from daveskender/stock.indicators
indicator-buffer
Implement BufferList incremental indicators with efficient state management. Use for IIncrementFromChain or IIncrementFromQuote implementations. Covers interface selection, constructor patterns, and BufferListTestBase testing requirements.
17indicator-catalog
Create and register indicator catalog entries for automation. Use for Catalog.cs files, CatalogListingBuilder patterns, parameter/result definitions, and PopulateCatalog registration.
17performance-testing
Benchmark indicator performance with BenchmarkDotNet. Use for Series/Buffer/Stream benchmarks, regression detection, and optimization patterns. Target 1.5x Series for StreamHub, 1.2x for BufferList.
15code-completion
Quality gates checklist for completing code work before finishing implementation cycles
14indicator-series
Implement Series-style batch indicators with mathematical precision. Use for new StaticSeries implementations or optimization. Series results are the canonical reference—all other styles must match exactly. Focus on cross-cutting requirements and performance optimization decisions.
13indicator-stream
Implement StreamHub real-time indicators with O(1) performance. Use for ChainHub or QuoteProvider implementations. Covers provider selection, RollbackState patterns, performance anti-patterns, and comprehensive testing with StreamHubTestBase.
13