testing-standards

star 1.2k

Testing conventions for Stock Indicators. Use for test naming (MethodName_StateUnderTest_ExpectedBehavior), FluentAssertions patterns, precision requirements, and test base class selection.

DaveSkender By DaveSkender schedule Updated 2/23/2026

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.

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()
  • BadBars_DoesNotFail()
  • NoBars_ReturnsEmpty()

Buffer (BufferListTestBase):

  • PruneList_OverMaxListSize_AutoAdjustsListAndBuffers()
  • Clear_WithState_ResetsState()
  • Plus interface methods from ITestBarBufferList or ITestChainBufferList (see patterns reference)

Stream (StreamHubTestBase):

  • ToStringOverride_ReturnsExpectedName()
  • Plus interface methods from ITestBarObserver, ITestChainObserver, and/or ITestChainProvider (see patterns reference)

Test data

Data.GetDefault() — 502 bars. Use consistently across all tests.

See references/patterns.md for FluentAssertions patterns, precision constants, and full BufferList/StreamHub interface method lists.

Install via CLI
npx skills add https://github.com/DaveSkender/Stock.Indicators --skill testing-standards
Repository Details
star Stars 1,210
call_split Forks 268
navigation Branch main
article Path SKILL.md
More from Creator