Files
kingchenc 8bfe24ac1d test(golden): language-neutral fixtures + per-binding parity runners (#255)
**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.
2026-06-11 15:22:29 +02:00

1.2 KiB

1beta
2nan
3nan
4nan
5nan
6nan
7nan
8nan
9nan
10nan
11nan
12nan
13nan
14nan
15nan
16nan
17nan
18nan
19nan
20nan
210.9195261318785413
220.922546057952995
230.9270670303012646
240.9360823119678988
250.9520494101604974
260.9734365033467753
270.995093627699459
281.0111583960294632
291.018359059410051
301.0174553154888744
311.0121204526718954
321.0067713468887387
331.0049777031298115
341.0087588074727343
351.0182494903866188
361.031286972171161
371.0431058848104742
381.0473159800278413
391.0395185963505182
401.0218520432290943
411.0027356441997792
420.989852175809267
430.9830850966851594
440.9757086459066595
450.9639743320260056
460.9518863451049362
470.945167696468917
480.9459710447944064
490.9530453598334451
500.9634788824656162
510.973948405670025
520.9815754255825168
530.9846435781849213
540.9830670028068416
550.9783981708129912
560.9733920844663336
570.9713725848572005
580.9755741087472364
590.988273819307749
601.0091885908656193
611.0332355593672604
621.0510340548483572
631.057262107302167
641.058580145340488
651.0645933328050556
661.0735088672694193
671.0743308164692502
681.0612002349944065
691.0392533178013483
701.0174419588972756
711.0016230577141623
720.9934855658174216
730.9919410932606791
740.9943630990130676
750.9973488461009995
760.9974248103764315
770.9919840212101835
780.9802751136245323
790.9638604974880948
800.9461133999713321
810.9309659374652403