8bfe24ac1d
**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.
1.3 KiB
1.3 KiB
| 1 | ema |
|---|---|
| 2 | nan |
| 3 | nan |
| 4 | nan |
| 5 | nan |
| 6 | nan |
| 7 | nan |
| 8 | nan |
| 9 | nan |
| 10 | nan |
| 11 | nan |
| 12 | nan |
| 13 | nan |
| 14 | nan |
| 15 | 107.082865308575 |
| 16 | 105.90971557088022 |
| 17 | 104.81838000454273 |
| 18 | 103.91437652548925 |
| 19 | 103.29137341232037 |
| 20 | 103.02217097393634 |
| 21 | 103.15163412061464 |
| 22 | 103.6921955736008 |
| 23 | 104.62232136443316 |
| 24 | 105.88806700052659 |
| 25 | 107.40757775297398 |
| 26 | 109.07812453770966 |
| 27 | 110.78504123504803 |
| 28 | 112.4117601975411 |
| 29 | 113.85004525232907 |
| 30 | 115.00950442946956 |
| 31 | 115.8255294789832 |
| 32 | 116.26495019544112 |
| 33 | 116.32889606739172 |
| 34 | 116.05260755010886 |
| 35 | 115.50221201839392 |
| 36 | 114.76875083248335 |
| 37 | 113.95998970819002 |
| 38 | 113.19074277367604 |
| 39 | 112.57257361958058 |
| 40 | 112.2037924360836 |
| 41 | 112.16064199938042 |
| 42 | 112.49045917546245 |
| 43 | 113.20742223024638 |
| 44 | 114.29126332917505 |
| 45 | 115.68906080413531 |
| 46 | 117.3199507165269 |
| 47 | 119.08233652305883 |
| 48 | 120.86295254590979 |
| 49 | 122.54697139145239 |
| 50 | 124.02825224132444 |
| 51 | 125.2188143840051 |
| 52 | 126.05668958634725 |
| 53 | 126.51145173900844 |
| 54 | 126.58692971020658 |
| 55 | 126.32086097368011 |
| 56 | 125.78151686199148 |
| 57 | 125.06160082390045 |
| 58 | 124.26996466927172 |
| 59 | 123.5218827065933 |
| 60 | 122.92875250508669 |
| 61 | 122.58814223802023 |
| 62 | 122.57507361058863 |
| 63 | 122.93531900967452 |
| 64 | 123.68131159273575 |
| 65 | 124.79103363078006 |
| 66 | 126.20998238510259 |
| 67 | 127.85603789338172 |
| 68 | 129.62679782427364 |
| 69 | 131.408724185901 |
| 70 | 133.0872848279711 |
| 71 | 134.5571838169111 |
| 72 | 135.7317668260377 |
| 73 | 136.550761377433 |
| 74 | 136.98566051598186 |
| 75 | 137.04226900211742 |
| 76 | 136.7601845743594 |
| 77 | 136.20926061449748 |
| 78 | 135.48336619117217 |
| 79 | 134.6920008752563 |
| 80 | 133.95051334772793 |
| 81 | 133.369797540168 |