with one click
testing-standards
Testing conventions for Stock Indicators. Use for test naming (MethodName_StateUnderTest_ExpectedBehavior), FluentAssertions patterns, precision requirements, and test base class selection.
Menu
Testing conventions for Stock Indicators. Use for test naming (MethodName_StateUnderTest_ExpectedBehavior), FluentAssertions patterns, precision requirements, and test base class selection.
| name | testing-standards |
| description | Testing conventions for Stock Indicators. Use for test naming (MethodName_StateUnderTest_ExpectedBehavior), FluentAssertions patterns, precision requirements, and test base class selection. |
| Style | Base Class |
|---|---|
| Series | StaticSeriesTestBase |
| Buffer | BufferListTestBase |
| Stream | StreamHubTestBase |
| Other | TestBase |
Pattern: MethodName_StateUnderTest_ExpectedBehavior
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()ITestQuoteBufferList or ITestChainBufferList (see patterns reference)Stream (StreamHubTestBase):
ToStringOverride_ReturnsExpectedName()ITestQuoteObserver, ITestChainObserver, and/or ITestChainProvider (see patterns reference)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.
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.
Format and validate Markdown files following GitHub Flavored Markdown standards with automated linting and manual semantic review
Create and register indicator catalog entries for automation. Use for Catalog.cs files, CatalogListingBuilder patterns, parameter/result definitions, and PopulateCatalog registration.
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.
Write and update the VitePress documentation website for stock indicators. Use when adding a new indicator page, updating an existing indicator page, or making structural changes to the docs site.
Quality gates checklist for completing code work before finishing implementation cycles