Files
kingchenc 8bfe24ac1d test(golden): language-neutral fixtures + per-binding parity runners (#255)
**Task 5 — golden-fixture parity for the C-ABI bindings.** Lifts the C#/Go/Java/R tests from *one indicator per archetype* toward reference-value parity, catching FFI wiring bugs (swapped params, wrong multi-output field) the math-only core tests cannot see.

## What's here
- **`examples/rust/src/bin/gen_golden.rs`** + **`testdata/golden/*.csv`** — a Rust generator computing a deterministic OHLCV series plus the core's reference outputs for a curated archetype-spanning set: scalar (`Sma`/`Ema`/`Rsi`), candle (`Atr`), scalar multi-output (`MACD`), candle multi-output (`ADX`), pairwise (`Beta`). `nan` marks warmup. Regenerate with `cargo run -p wickra-examples --bin gen_golden`.
- **Parity runners** replaying the identical fixtures through each FFI (rel-tol 1e-6), each a standard test in the binding's existing suite (no `ci.yml` change — rides `dotnet test` / `go test` / `mvn install` / `R CMD`+testthat). A walk-up search locates `testdata/golden` regardless of run dir.
  - **C#** (`bindings/csharp/.../GoldenTests.cs`) —  validated locally, 7/7 pass.
  - **Go** (`bindings/go/golden_test.go`) —  validated locally, pass.
  - **Java** (`bindings/java/.../GoldenTests.java`) — modeled on the archetype API; validated by CI (no local mvn).
  - **R** (`bindings/r/tests/testthat/test-golden.R`) — modeled on the archetype API; validated by CI (no local Rscript).

## Notes
- The curated set spans every marshalling archetype; extending the indicator list is mechanical (add to the generator + regenerate). Bars/profile archetypes can be added next.
- No new CI jobs.
2026-06-11 15:22:29 +02:00

1.3 KiB

1ema
2nan
3nan
4nan
5nan
6nan
7nan
8nan
9nan
10nan
11nan
12nan
13nan
14nan
15107.082865308575
16105.90971557088022
17104.81838000454273
18103.91437652548925
19103.29137341232037
20103.02217097393634
21103.15163412061464
22103.6921955736008
23104.62232136443316
24105.88806700052659
25107.40757775297398
26109.07812453770966
27110.78504123504803
28112.4117601975411
29113.85004525232907
30115.00950442946956
31115.8255294789832
32116.26495019544112
33116.32889606739172
34116.05260755010886
35115.50221201839392
36114.76875083248335
37113.95998970819002
38113.19074277367604
39112.57257361958058
40112.2037924360836
41112.16064199938042
42112.49045917546245
43113.20742223024638
44114.29126332917505
45115.68906080413531
46117.3199507165269
47119.08233652305883
48120.86295254590979
49122.54697139145239
50124.02825224132444
51125.2188143840051
52126.05668958634725
53126.51145173900844
54126.58692971020658
55126.32086097368011
56125.78151686199148
57125.06160082390045
58124.26996466927172
59123.5218827065933
60122.92875250508669
61122.58814223802023
62122.57507361058863
63122.93531900967452
64123.68131159273575
65124.79103363078006
66126.20998238510259
67127.85603789338172
68129.62679782427364
69131.408724185901
70133.0872848279711
71134.5571838169111
72135.7317668260377
73136.550761377433
74136.98566051598186
75137.04226900211742
76136.7601845743594
77136.20926061449748
78135.48336619117217
79134.6920008752563
80133.95051334772793
81133.369797540168