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.2 KiB
1.2 KiB
| 1 | beta |
|---|---|
| 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 | nan |
| 16 | nan |
| 17 | nan |
| 18 | nan |
| 19 | nan |
| 20 | nan |
| 21 | 0.9195261318785413 |
| 22 | 0.922546057952995 |
| 23 | 0.9270670303012646 |
| 24 | 0.9360823119678988 |
| 25 | 0.9520494101604974 |
| 26 | 0.9734365033467753 |
| 27 | 0.995093627699459 |
| 28 | 1.0111583960294632 |
| 29 | 1.018359059410051 |
| 30 | 1.0174553154888744 |
| 31 | 1.0121204526718954 |
| 32 | 1.0067713468887387 |
| 33 | 1.0049777031298115 |
| 34 | 1.0087588074727343 |
| 35 | 1.0182494903866188 |
| 36 | 1.031286972171161 |
| 37 | 1.0431058848104742 |
| 38 | 1.0473159800278413 |
| 39 | 1.0395185963505182 |
| 40 | 1.0218520432290943 |
| 41 | 1.0027356441997792 |
| 42 | 0.989852175809267 |
| 43 | 0.9830850966851594 |
| 44 | 0.9757086459066595 |
| 45 | 0.9639743320260056 |
| 46 | 0.9518863451049362 |
| 47 | 0.945167696468917 |
| 48 | 0.9459710447944064 |
| 49 | 0.9530453598334451 |
| 50 | 0.9634788824656162 |
| 51 | 0.973948405670025 |
| 52 | 0.9815754255825168 |
| 53 | 0.9846435781849213 |
| 54 | 0.9830670028068416 |
| 55 | 0.9783981708129912 |
| 56 | 0.9733920844663336 |
| 57 | 0.9713725848572005 |
| 58 | 0.9755741087472364 |
| 59 | 0.988273819307749 |
| 60 | 1.0091885908656193 |
| 61 | 1.0332355593672604 |
| 62 | 1.0510340548483572 |
| 63 | 1.057262107302167 |
| 64 | 1.058580145340488 |
| 65 | 1.0645933328050556 |
| 66 | 1.0735088672694193 |
| 67 | 1.0743308164692502 |
| 68 | 1.0612002349944065 |
| 69 | 1.0392533178013483 |
| 70 | 1.0174419588972756 |
| 71 | 1.0016230577141623 |
| 72 | 0.9934855658174216 |
| 73 | 0.9919410932606791 |
| 74 | 0.9943630990130676 |
| 75 | 0.9973488461009995 |
| 76 | 0.9974248103764315 |
| 77 | 0.9919840212101835 |
| 78 | 0.9802751136245323 |
| 79 | 0.9638604974880948 |
| 80 | 0.9461133999713321 |
| 81 | 0.9309659374652403 |