From 1ab7ceedff174f0fb98c9eba0458f6a9c136203d Mon Sep 17 00:00:00 2001 From: Christian Tzolov Date: Fri, 17 Nov 2023 12:04:57 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20transformers-embedding=20test=E2=80=99s?= =?UTF-8?q?=20cross-platform=20number=20precision?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TransformersEmbeddingClientTests.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/embedding-clients/transformers-embedding/src/test/java/org/springframework/ai/embedding/TransformersEmbeddingClientTests.java b/embedding-clients/transformers-embedding/src/test/java/org/springframework/ai/embedding/TransformersEmbeddingClientTests.java index 543b1db7d..aea25226e 100644 --- a/embedding-clients/transformers-embedding/src/test/java/org/springframework/ai/embedding/TransformersEmbeddingClientTests.java +++ b/embedding-clients/transformers-embedding/src/test/java/org/springframework/ai/embedding/TransformersEmbeddingClientTests.java @@ -16,6 +16,7 @@ package org.springframework.ai.embedding; +import java.text.DecimalFormat; import java.util.List; import org.junit.jupiter.api.Test; @@ -29,14 +30,17 @@ import static org.assertj.core.api.Assertions.assertThat; */ public class TransformersEmbeddingClientTests { + private static DecimalFormat DF = new DecimalFormat("#.######"); + @Test void embed() throws Exception { + TransformersEmbeddingClient embeddingClient = new TransformersEmbeddingClient(); embeddingClient.afterPropertiesSet(); List embed = embeddingClient.embed("Hello world"); assertThat(embed).hasSize(384); - assertThat(embed.get(0)).isEqualTo(-0.19744634628295898); - assertThat(embed.get(383)).isEqualTo(0.17298996448516846); + assertThat(DF.format(embed.get(0))).isEqualTo(DF.format(-0.19744634628295898)); + assertThat(DF.format(embed.get(383))).isEqualTo(DF.format(0.17298996448516846)); } @Test @@ -45,8 +49,8 @@ public class TransformersEmbeddingClientTests { embeddingClient.afterPropertiesSet(); List embed = embeddingClient.embed(new Document("Hello world")); assertThat(embed).hasSize(384); - assertThat(embed.get(0)).isEqualTo(-0.19744634628295898); - assertThat(embed.get(383)).isEqualTo(0.17298996448516846); + assertThat(DF.format(embed.get(0))).isEqualTo(DF.format(-0.19744634628295898)); + assertThat(DF.format(embed.get(383))).isEqualTo(DF.format(0.17298996448516846)); } @Test @@ -56,12 +60,12 @@ public class TransformersEmbeddingClientTests { List> embed = embeddingClient.embed(List.of("Hello world", "World is big")); assertThat(embed).hasSize(2); assertThat(embed.get(0)).hasSize(384); - assertThat(embed.get(0).get(0)).isEqualTo(-0.19744634628295898); - assertThat(embed.get(0).get(383)).isEqualTo(0.17298996448516846); + assertThat(DF.format(embed.get(0).get(0))).isEqualTo(DF.format(-0.19744634628295898)); + assertThat(DF.format(embed.get(0).get(383))).isEqualTo(DF.format(0.17298996448516846)); assertThat(embed.get(1)).hasSize(384); - assertThat(embed.get(1).get(0)).isEqualTo(0.4293745160102844); - assertThat(embed.get(1).get(383)).isEqualTo(0.05501303821802139); + assertThat(DF.format(embed.get(1).get(0))).isEqualTo(DF.format(0.4293745160102844)); + assertThat(DF.format(embed.get(1).get(383))).isEqualTo(DF.format(0.05501303821802139)); assertThat(embed.get(0)).isNotEqualTo(embed.get(1)); } @@ -75,12 +79,12 @@ public class TransformersEmbeddingClientTests { assertThat(embed.getMetadata()).isEmpty(); assertThat(embed.getData().get(0).getEmbedding()).hasSize(384); - assertThat(embed.getData().get(0).getEmbedding().get(0)).isEqualTo(-0.19744634628295898); - assertThat(embed.getData().get(0).getEmbedding().get(383)).isEqualTo(0.17298996448516846); + assertThat(DF.format(embed.getData().get(0).getEmbedding().get(0))).isEqualTo(DF.format(-0.19744634628295898)); + assertThat(DF.format(embed.getData().get(0).getEmbedding().get(383))).isEqualTo(DF.format(0.17298996448516846)); assertThat(embed.getData().get(1).getEmbedding()).hasSize(384); - assertThat(embed.getData().get(1).getEmbedding().get(0)).isEqualTo(0.4293745160102844); - assertThat(embed.getData().get(1).getEmbedding().get(383)).isEqualTo(0.05501303821802139); + assertThat(DF.format(embed.getData().get(1).getEmbedding().get(0))).isEqualTo(DF.format(0.4293745160102844)); + assertThat(DF.format(embed.getData().get(1).getEmbedding().get(383))).isEqualTo(DF.format(0.05501303821802139)); } @Test