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.
82 lines
1.3 KiB
CSV
82 lines
1.3 KiB
CSV
atr
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
3.917642936098542
|
|
3.871756865753318
|
|
3.8256550237571303
|
|
3.775585219414474
|
|
3.7359112048078584
|
|
3.751806385408204
|
|
3.844730678370346
|
|
3.9663267478375337
|
|
4.065925146592011
|
|
4.103990051025662
|
|
4.122277884333844
|
|
4.120405500552875
|
|
4.1099068422738645
|
|
4.067219182386907
|
|
3.965656623010464
|
|
3.883731209815142
|
|
3.8454426000158177
|
|
3.827649810828608
|
|
3.8056867488416217
|
|
3.7971798302715882
|
|
3.795930185925992
|
|
3.768312827006575
|
|
3.700099728786484
|
|
3.6306300896424184
|
|
3.63084862338228
|
|
3.6560272497167245
|
|
3.6536783654804816
|
|
3.670527021756155
|
|
3.731163563648225
|
|
3.855191519830406
|
|
3.994403105040647
|
|
4.097289247845801
|
|
4.128368657741341
|
|
4.103844480606131
|
|
4.0291518193306395
|
|
3.972922779511551
|
|
3.9077919971718877
|
|
3.8900842871217334
|
|
3.9281940607734454
|
|
3.970355102352287
|
|
3.970344885666312
|
|
3.9271768651715058
|
|
3.891868629198634
|
|
3.896746818914544
|
|
3.888594808948336
|
|
3.8241554941261624
|
|
3.755340593345057
|
|
3.742402894117046
|
|
3.779811441067645
|
|
3.833276428397188
|
|
3.8832337640008086
|
|
3.9482678364884123
|
|
3.9963590513965954
|
|
3.9961613679725096
|
|
3.957618048219805
|
|
3.9111378825809897
|
|
3.9118754285284236
|
|
3.9079875306228926
|
|
3.8519602816708205
|
|
3.8003043443211753
|
|
3.824279210324508
|
|
3.89030736805505
|
|
3.946176568396809
|
|
3.944383618517461
|
|
3.889018639116889
|
|
3.8395240928112067
|
|
3.792174559624793
|