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.3 KiB

1atr
2nan
3nan
4nan
5nan
6nan
7nan
8nan
9nan
10nan
11nan
12nan
13nan
14nan
153.917642936098542
163.871756865753318
173.8256550237571303
183.775585219414474
193.7359112048078584
203.751806385408204
213.844730678370346
223.9663267478375337
234.065925146592011
244.103990051025662
254.122277884333844
264.120405500552875
274.1099068422738645
284.067219182386907
293.965656623010464
303.883731209815142
313.8454426000158177
323.827649810828608
333.8056867488416217
343.7971798302715882
353.795930185925992
363.768312827006575
373.700099728786484
383.6306300896424184
393.63084862338228
403.6560272497167245
413.6536783654804816
423.670527021756155
433.731163563648225
443.855191519830406
453.994403105040647
464.097289247845801
474.128368657741341
484.103844480606131
494.0291518193306395
503.972922779511551
513.9077919971718877
523.8900842871217334
533.9281940607734454
543.970355102352287
553.970344885666312
563.9271768651715058
573.891868629198634
583.896746818914544
593.888594808948336
603.8241554941261624
613.755340593345057
623.742402894117046
633.779811441067645
643.833276428397188
653.8832337640008086
663.9482678364884123
673.9963590513965954
683.9961613679725096
693.957618048219805
703.9111378825809897
713.9118754285284236
723.9079875306228926
733.8519602816708205
743.8003043443211753
753.824279210324508
763.89030736805505
773.946176568396809
783.944383618517461
793.889018639116889
803.8395240928112067
813.792174559624793