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 | atr |
|---|---|
| 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 | 3.917642936098542 |
| 16 | 3.871756865753318 |
| 17 | 3.8256550237571303 |
| 18 | 3.775585219414474 |
| 19 | 3.7359112048078584 |
| 20 | 3.751806385408204 |
| 21 | 3.844730678370346 |
| 22 | 3.9663267478375337 |
| 23 | 4.065925146592011 |
| 24 | 4.103990051025662 |
| 25 | 4.122277884333844 |
| 26 | 4.120405500552875 |
| 27 | 4.1099068422738645 |
| 28 | 4.067219182386907 |
| 29 | 3.965656623010464 |
| 30 | 3.883731209815142 |
| 31 | 3.8454426000158177 |
| 32 | 3.827649810828608 |
| 33 | 3.8056867488416217 |
| 34 | 3.7971798302715882 |
| 35 | 3.795930185925992 |
| 36 | 3.768312827006575 |
| 37 | 3.700099728786484 |
| 38 | 3.6306300896424184 |
| 39 | 3.63084862338228 |
| 40 | 3.6560272497167245 |
| 41 | 3.6536783654804816 |
| 42 | 3.670527021756155 |
| 43 | 3.731163563648225 |
| 44 | 3.855191519830406 |
| 45 | 3.994403105040647 |
| 46 | 4.097289247845801 |
| 47 | 4.128368657741341 |
| 48 | 4.103844480606131 |
| 49 | 4.0291518193306395 |
| 50 | 3.972922779511551 |
| 51 | 3.9077919971718877 |
| 52 | 3.8900842871217334 |
| 53 | 3.9281940607734454 |
| 54 | 3.970355102352287 |
| 55 | 3.970344885666312 |
| 56 | 3.9271768651715058 |
| 57 | 3.891868629198634 |
| 58 | 3.896746818914544 |
| 59 | 3.888594808948336 |
| 60 | 3.8241554941261624 |
| 61 | 3.755340593345057 |
| 62 | 3.742402894117046 |
| 63 | 3.779811441067645 |
| 64 | 3.833276428397188 |
| 65 | 3.8832337640008086 |
| 66 | 3.9482678364884123 |
| 67 | 3.9963590513965954 |
| 68 | 3.9961613679725096 |
| 69 | 3.957618048219805 |
| 70 | 3.9111378825809897 |
| 71 | 3.9118754285284236 |
| 72 | 3.9079875306228926 |
| 73 | 3.8519602816708205 |
| 74 | 3.8003043443211753 |
| 75 | 3.824279210324508 |
| 76 | 3.89030736805505 |
| 77 | 3.946176568396809 |
| 78 | 3.944383618517461 |
| 79 | 3.889018639116889 |
| 80 | 3.8395240928112067 |
| 81 | 3.792174559624793 |