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.2 KiB
CSV
82 lines
1.2 KiB
CSV
rsi
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
nan
|
|
46.84518809898699
|
|
45.82961265424322
|
|
46.5293990131247
|
|
49.23903870201344
|
|
53.518768674122796
|
|
58.56047460456064
|
|
63.58342577996474
|
|
68.07459111891804
|
|
71.80327260156207
|
|
74.72559789038102
|
|
76.88488357198254
|
|
78.34471541432595
|
|
79.15131540353094
|
|
79.31156608926268
|
|
77.35312513119456
|
|
73.13439349750769
|
|
67.51119167055117
|
|
61.48673113238304
|
|
55.86675382432369
|
|
51.14733221714866
|
|
47.57753664027756
|
|
45.28036590056008
|
|
44.36975889174273
|
|
45.212282377402985
|
|
48.12434665867438
|
|
52.61537254620642
|
|
57.83678169397702
|
|
62.992663568874654
|
|
67.57346293490359
|
|
71.3583982125327
|
|
74.31265622918312
|
|
76.4855340725887
|
|
77.9435594091973
|
|
78.73329989554925
|
|
78.85948376472163
|
|
76.76197022138767
|
|
72.44443440532005
|
|
66.78373698621982
|
|
60.77877328002407
|
|
55.21662487911296
|
|
50.57413251002351
|
|
47.087563552178636
|
|
44.87458874458458
|
|
44.050409895373384
|
|
45.01878876311954
|
|
48.0601943425273
|
|
52.64880490307121
|
|
57.92140340103244
|
|
63.088714334306665
|
|
67.65616719708338
|
|
71.41589642993111
|
|
74.34074717674663
|
|
76.4832369420561
|
|
77.91026866443379
|
|
78.66702552588708
|
|
78.75547116040536
|
|
76.51507736151031
|
|
72.09088140590961
|
|
66.3803507173797
|
|
60.378854393296976
|
|
54.856911707280055
|
|
50.27461841837877
|
|
46.857548898064
|
|
44.719625963574536
|
|
43.978649539628535
|
|
45.06927522550655
|