|
5 | 5 | import static org.hamcrest.Matchers.is; |
6 | 6 | import static org.hamcrest.Matchers.nullValue; |
7 | 7 |
|
| 8 | +import com.meilisearch.sdk.model.Hybrid; |
8 | 9 | import com.meilisearch.sdk.model.MatchingStrategy; |
9 | 10 | import org.junit.jupiter.api.Test; |
10 | 11 |
|
@@ -363,4 +364,65 @@ void toStringEveryParametersWithArrayMatchingStrategyNull() { |
363 | 364 | assertThat(classToTest.getDistinct(), is(equalTo("distinct"))); |
364 | 365 | assertThat(classToTest.toString(), is(equalTo(expectedToString))); |
365 | 366 | } |
| 367 | + |
| 368 | + @Test |
| 369 | + void toStringWithHybrid() { |
| 370 | + Hybrid hybrid = Hybrid.builder().semanticRatio(0.5).embedder("default").build(); |
| 371 | + |
| 372 | + SearchRequest classToTest = new SearchRequest("This is a Test").setHybrid(hybrid); |
| 373 | + |
| 374 | + String expected = |
| 375 | + "{\"q\":\"This is a Test\",\"hybrid\":{\"semanticRatio\":0.5,\"embedder\":\"default\"}}"; |
| 376 | + assertThat(classToTest.toString(), is(equalTo(expected))); |
| 377 | + |
| 378 | + // Verify getters |
| 379 | + assertThat(classToTest.getHybrid().getSemanticRatio(), is(equalTo(0.5))); |
| 380 | + assertThat(classToTest.getHybrid().getEmbedder(), is(equalTo("default"))); |
| 381 | + } |
| 382 | + |
| 383 | + @Test |
| 384 | + void toStringWithHybridUsingBuilder() { |
| 385 | + SearchRequest classToTest = |
| 386 | + SearchRequest.builder() |
| 387 | + .q("This is a Test") |
| 388 | + .hybrid(Hybrid.builder().semanticRatio(0.5).embedder("default").build()) |
| 389 | + .build(); |
| 390 | + |
| 391 | + String expected = |
| 392 | + "{\"q\":\"This is a Test\",\"hybrid\":{\"semanticRatio\":0.5,\"embedder\":\"default\"}}"; |
| 393 | + assertThat(classToTest.toString(), is(equalTo(expected))); |
| 394 | + |
| 395 | + // Verify getters |
| 396 | + assertThat(classToTest.getHybrid().getSemanticRatio(), is(equalTo(0.5))); |
| 397 | + assertThat(classToTest.getHybrid().getEmbedder(), is(equalTo("default"))); |
| 398 | + } |
| 399 | + |
| 400 | + @Test |
| 401 | + void toStringWithHybridAndOtherParameters() { |
| 402 | + SearchRequest classToTest = |
| 403 | + SearchRequest.builder() |
| 404 | + .q("This is a Test") |
| 405 | + .offset(200) |
| 406 | + .limit(900) |
| 407 | + .hybrid( |
| 408 | + Hybrid.builder() |
| 409 | + .semanticRatio(0.7) |
| 410 | + .embedder("custom-embedder") |
| 411 | + .build()) |
| 412 | + .build(); |
| 413 | + |
| 414 | + String expected = |
| 415 | + "{\"q\":\"This is a Test\",\"hybrid\":{\"semanticRatio\":0.7,\"embedder\":\"custom-embedder\"},\"offset\":200,\"limit\":900}"; |
| 416 | + assertThat(classToTest.toString(), is(equalTo(expected))); |
| 417 | + } |
| 418 | + |
| 419 | + @Test |
| 420 | + void toStringWithHybridOnlyEmbedder() { |
| 421 | + SearchRequest classToTest = |
| 422 | + new SearchRequest("This is a Test") |
| 423 | + .setHybrid(Hybrid.builder().embedder("default").build()); |
| 424 | + |
| 425 | + String expected = "{\"q\":\"This is a Test\",\"hybrid\":{\"embedder\":\"default\"}}"; |
| 426 | + assertThat(classToTest.toString(), is(equalTo(expected))); |
| 427 | + } |
366 | 428 | } |
0 commit comments