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

3.0 KiB

1macdsignalhistogram
2nannannan
3nannannan
4nannannan
5nannannan
6nannannan
7nannannan
8nannannan
9nannannan
10nannannan
11nannannan
12nannannan
13nannannan
14nannannan
15nannannan
16nannannan
17nannannan
18nannannan
19nannannan
20nannannan
21nannannan
22nannannan
23nannannan
24nannannan
25nannannan
26nannannan
27nannannan
28nannannan
29nannannan
30nannannan
31nannannan
32nannannan
33nannannan
34nannannan
353.5538253748715224.7567646581597245-1.2029392832882024
362.82086541610486564.369584809748753-1.5487193936438874
372.11090145430678433.9178481386603594-1.806946684353575
381.48973043738868683.4322245984060253-1.9424941610173385
391.01510499100541552.9488006769259036-1.9336956859204881
400.73157313855979572.5053551692526823-1.7737820306928866
410.66649915483328932.137583966368804-1.4710848115355146
420.82762064860277461.8755913028155982-1.0479706542128235
431.20235980430045691.74094500311257-0.5385851988121131
441.75895007040874421.7445460165718050.014404053836939212
452.4492774568326041.8854923046239650.563785152208639
463.21318247848131482.15103033939543531.0621521390858795
473.98383833704515672.51759193892537961.466246398119777
484.6937248207111682.95281851528253771.7409063054286302
495.2806642085469953.4183876539354291.8622765546115656
505.6933799447437113.87338611209708541.8199938326466256
515.8960814916421364.2779251880060961.6181563036360398
525.8716657707146994.5966733045478161.274992466166883
535.6232491863690374.8019884809120610.821260705456976
545.173893359379694.8763694566055870.29752390277410345
554.5645490537152824.814005376027526-0.2494563223122439
563.85040194921565164.621284690665152-0.7708827414495003
573.09594667512435254.316217087556993-1.2202704124326402
582.3692291235144583.926819494748486-1.5575903712340278
591.7357713593924873.488609867677286-1.7528385082847988
601.2527217990505053.0414322539519296-1.7887104549014246
610.96375320731260672.6258964446240656-1.6621432373114589
620.89516426511400482.2797500087220537-1.3845857436080489
631.05353294840607252.0345065966588574-0.9809736482527849
641.42513134134317451.9126315455957208-0.48750020425254625
651.97715416346424891.92553606916942650.051618094294822336
662.66065127717679672.0725591107709010.5880921664058958
673.4149022304934962.341027734715421.073874495778076
684.172842077275862.7073906032275081.4654514740483515
694.8670538096846063.1393232445189281.727730565165678
705.43579212362251953.59861702033964641.8371751032828731
715.8285004388905584.0445937040498291.7839067348407287
726.0103283616046784.4377406355607991.5725877260438788
735.9652460636899324.7432417211866261.2220043425033058
745.6974773872227054.9340888543938420.7633885328288628
755.2311236644169984.99349581639847350.23762784801852455
764.6080118617529424.916399025469367-0.30838716371642505
773.8839592722984.709911074835094-0.8259518025370935
783.1237884250252254.39268654487312-1.2688981198478952
792.3955375190502083.993256739708538-1.59771922065833
801.7643835518034623.547482102127523-1.7830985503240608
811.2868209740898353.0953498765199856-1.8085289024301505