From dea705b1f58fad93d36c3b0b3b88da2ac8a4f102 Mon Sep 17 00:00:00 2001 From: Michal Harakal <471011+michalharakal@users.noreply.github.com> Date: Mon, 9 Nov 2026 10:45:20 +0100 Subject: [PATCH] test(laya): compare the unrouted mixture answer within 1e-6 The routed and unrouted calls are not bit-identical (about 2e-9), so the exact comparison failed intermittently, including on develop at the 0.64.2 merge. Co-Authored-By: Claude Opus 5.5 --- .../kotlin/sk/ainet/models/laya/LayaExpertSyntheticTest.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/llm-inference/laya/src/jvmTest/kotlin/sk/ainet/models/laya/LayaExpertSyntheticTest.kt b/llm-inference/laya/src/jvmTest/kotlin/sk/ainet/models/laya/LayaExpertSyntheticTest.kt index a3ce6171..e674ca6c 100644 --- a/llm-inference/laya/src/jvmTest/kotlin/sk/ainet/models/laya/LayaExpertSyntheticTest.kt +++ b/llm-inference/laya/src/jvmTest/kotlin/sk/ainet/models/laya/LayaExpertSyntheticTest.kt @@ -191,7 +191,12 @@ class LayaExpertSyntheticTest { assertTrue(differ, "beta must not answer like general") val unrouted = mixture.decide(state, questions, expert = "beta", route = false) assertNull(unrouted.routing) - for ((k, a) in unrouted.answers) assertContentEquals(viaBeta.answers.getValue(k).probabilities, a.probabilities, "unrouted/$k") + // Same answer within 1e-6, the threshold "differ" uses above: the two calls are not bit-identical (about 2e-9). + for ((k, a) in unrouted.answers) { + val routed = viaBeta.answers.getValue(k).probabilities + assertEquals(routed.size, a.probabilities.size, "unrouted/$k") + for (i in routed.indices) assertEquals(routed[i], a.probabilities[i], 1e-6, "unrouted/$k[$i]") + } } @Test