Skip to content

Commit c43a075

Browse files
committed
optimised test
1 parent 184330c commit c43a075

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

x-pack/plugin/rank-rrf/src/test/java/org/elasticsearch/xpack/rank/rrf/RRFRetrieverBuilderTests.java

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import java.util.List;
4040
import java.util.Map;
4141
import java.util.Set;
42+
import java.util.function.BiConsumer;
4243

4344
import static org.elasticsearch.search.rank.RankBuilder.DEFAULT_RANK_WINDOW_SIZE;
4445
import static org.hamcrest.Matchers.instanceOf;
@@ -86,6 +87,17 @@ public void testRetrieverExtractionErrors() throws IOException {
8687
}
8788

8889
public void testRRFRetrieverParsingSyntax() throws IOException {
90+
BiConsumer<String, float[]> testCase = (json, expectedWeights) -> {
91+
try (XContentParser parser = createParser(JsonXContent.jsonXContent, json)) {
92+
SearchSourceBuilder ssb = new SearchSourceBuilder().parseXContent(parser, true, nf -> true);
93+
assertThat(ssb.retriever(), instanceOf(RRFRetrieverBuilder.class));
94+
RRFRetrieverBuilder rrf = (RRFRetrieverBuilder) ssb.retriever();
95+
assertArrayEquals(expectedWeights, rrf.weights(), 0.001f);
96+
} catch (IOException e) {
97+
throw new RuntimeException(e);
98+
}
99+
};
100+
89101
String legacyJson = """
90102
{
91103
"retriever": {
@@ -98,12 +110,7 @@ public void testRRFRetrieverParsingSyntax() throws IOException {
98110
}
99111
}
100112
""";
101-
try (XContentParser parser = createParser(JsonXContent.jsonXContent, legacyJson)) {
102-
SearchSourceBuilder ssb = new SearchSourceBuilder().parseXContent(parser, true, nf -> true);
103-
assertThat(ssb.retriever(), instanceOf(RRFRetrieverBuilder.class));
104-
RRFRetrieverBuilder rrf = (RRFRetrieverBuilder) ssb.retriever();
105-
assertArrayEquals(new float[] { 1.0f, 1.0f }, rrf.weights(), 0.001f);
106-
}
113+
testCase.accept(legacyJson, new float[] { 1.0f, 1.0f });
107114

108115
String weightedJson = """
109116
{
@@ -117,12 +124,7 @@ public void testRRFRetrieverParsingSyntax() throws IOException {
117124
}
118125
}
119126
""";
120-
try (XContentParser parser = createParser(JsonXContent.jsonXContent, weightedJson)) {
121-
SearchSourceBuilder ssb = new SearchSourceBuilder().parseXContent(parser, true, nf -> true);
122-
assertThat(ssb.retriever(), instanceOf(RRFRetrieverBuilder.class));
123-
RRFRetrieverBuilder rrf = (RRFRetrieverBuilder) ssb.retriever();
124-
assertArrayEquals(new float[] { 2.5f, 0.5f }, rrf.weights(), 0.001f);
125-
}
127+
testCase.accept(weightedJson, new float[] { 2.5f, 0.5f });
126128

127129
String mixedJson = """
128130
{
@@ -136,12 +138,7 @@ public void testRRFRetrieverParsingSyntax() throws IOException {
136138
}
137139
}
138140
""";
139-
try (XContentParser parser = createParser(JsonXContent.jsonXContent, mixedJson)) {
140-
SearchSourceBuilder ssb = new SearchSourceBuilder().parseXContent(parser, true, nf -> true);
141-
assertThat(ssb.retriever(), instanceOf(RRFRetrieverBuilder.class));
142-
RRFRetrieverBuilder rrf = (RRFRetrieverBuilder) ssb.retriever();
143-
assertArrayEquals(new float[] { 1.0f, 0.6f }, rrf.weights(), 0.001f);
144-
}
141+
testCase.accept(mixedJson, new float[] { 1.0f, 0.6f });
145142
}
146143

147144
public void testMultiFieldsParamsRewrite() {

0 commit comments

Comments
 (0)