|
22 | 22 | import java.util.Collections;
|
23 | 23 | import java.util.Date;
|
24 | 24 | import java.util.List;
|
| 25 | +import java.util.Locale; |
| 26 | +import java.util.function.Supplier; |
25 | 27 |
|
26 | 28 | import org.junit.After;
|
27 | 29 | import org.junit.Test;
|
@@ -370,74 +372,60 @@ public void shouldFindByLaunchDateAfter() {
|
370 | 372 | assertEquals(0, results.size());
|
371 | 373 | }
|
372 | 374 |
|
373 |
| - /** |
374 |
| - * All findByPropertyLike does currently is to require an exact match, ignoring case. |
375 |
| - */ |
376 |
| - @Test // DATAGRAPH-904 |
377 |
| - public void shouldFindByNameNotLike() { |
378 |
| - |
| 375 | + void runTestThatShouldReturnOnlySFO(Supplier<List<Restaurant>> restaurantSupplier) { |
379 | 376 | Restaurant restaurant = new Restaurant("San Francisco International Airport (SFO)", 68.0);
|
380 | 377 | restaurantRepository.save(restaurant);
|
381 | 378 |
|
382 | 379 | Restaurant kuroda = new Restaurant("Kuroda", 72.4);
|
383 | 380 | restaurantRepository.save(kuroda);
|
384 | 381 |
|
385 |
| - List<Restaurant> results = restaurantRepository.findByNameNotLike("kuroda"); |
| 382 | + List<Restaurant> results = restaurantSupplier.get(); |
386 | 383 | assertNotNull(results);
|
387 | 384 | assertEquals(1, results.size());
|
388 | 385 | assertEquals("San Francisco International Airport (SFO)", results.get(0).getName());
|
389 |
| - |
390 | 386 | }
|
391 | 387 |
|
392 | 388 | /**
|
393 | 389 | * All findByPropertyLike does currently is to require an exact match, ignoring case.
|
394 | 390 | */
|
395 | 391 | @Test // DATAGRAPH-904
|
396 |
| - public void shouldFindByNameLike() { |
397 |
| - |
398 |
| - Restaurant restaurant = new Restaurant("San Francisco International Airport (SFO)", 68.0); |
399 |
| - restaurantRepository.save(restaurant); |
| 392 | + public void shouldFindByNameNotLike() { |
400 | 393 |
|
401 |
| - Restaurant kuroda = new Restaurant("Kuroda", 72.4); |
402 |
| - restaurantRepository.save(kuroda); |
| 394 | + runTestThatShouldReturnOnlySFO(() -> restaurantRepository.findByNameNotLike("kuroda")); |
| 395 | + } |
403 | 396 |
|
404 |
| - List<Restaurant> results = restaurantRepository.findByNameLike("*san francisco international*"); |
405 |
| - assertNotNull(results); |
406 |
| - assertEquals(1, results.size()); |
407 |
| - assertEquals("San Francisco International Airport (SFO)", results.get(0).getName()); |
| 397 | + /** |
| 398 | + * All findByPropertyLike does currently is to require an exact match, ignoring case. |
| 399 | + */ |
| 400 | + @Test // DATAGRAPH-904 |
| 401 | + public void shouldFindByNameLike() { |
408 | 402 |
|
| 403 | + runTestThatShouldReturnOnlySFO(() -> restaurantRepository.findByNameLike("*san francisco international*")); |
409 | 404 | }
|
410 | 405 |
|
411 | 406 | @Test // DATAGRAPH-904
|
412 | 407 | public void shouldFindByNameStartingWith() {
|
413 | 408 |
|
414 |
| - Restaurant restaurant = new Restaurant("San Francisco International Airport (SFO)", 68.0); |
415 |
| - restaurantRepository.save(restaurant); |
| 409 | + runTestThatShouldReturnOnlySFO(() -> restaurantRepository.findByNameStartingWith("San Francisco")); |
416 | 410 |
|
417 |
| - Restaurant kuroda = new Restaurant("Kuroda", 72.4); |
418 |
| - restaurantRepository.save(kuroda); |
| 411 | + } |
419 | 412 |
|
420 |
| - List<Restaurant> results = restaurantRepository.findByNameStartingWith("San Francisco"); |
421 |
| - assertNotNull(results); |
422 |
| - assertEquals(1, results.size()); |
423 |
| - assertEquals("San Francisco International Airport (SFO)", results.get(0).getName()); |
| 413 | + @Test // DATAGRAPH-1862 |
| 414 | + public void shouldFindByNameStartingWithIgnoringCase() { |
424 | 415 |
|
| 416 | + runTestThatShouldReturnOnlySFO(() -> restaurantRepository.findByNameStartingWithIgnoreCase("San Francisco".toLowerCase(Locale.ROOT))); |
425 | 417 | }
|
426 | 418 |
|
427 | 419 | @Test // DATAGRAPH-904
|
428 | 420 | public void shouldFindByNameEndingWith() {
|
429 | 421 |
|
430 |
| - Restaurant restaurant = new Restaurant("San Francisco International Airport (SFO)", 68.0); |
431 |
| - restaurantRepository.save(restaurant); |
| 422 | + runTestThatShouldReturnOnlySFO(() -> restaurantRepository.findByNameEndingWith("Airport (SFO)")); |
| 423 | + } |
432 | 424 |
|
433 |
| - Restaurant kuroda = new Restaurant("Kuroda", 72.4); |
434 |
| - restaurantRepository.save(kuroda); |
435 |
| - |
436 |
| - List<Restaurant> results = restaurantRepository.findByNameEndingWith("Airport (SFO)"); |
437 |
| - assertNotNull(results); |
438 |
| - assertEquals(1, results.size()); |
439 |
| - assertEquals("San Francisco International Airport (SFO)", results.get(0).getName()); |
| 425 | + @Test // DATAGRAPH-1862 |
| 426 | + public void shouldFindByNameEndingWithIgnoringCase() { |
440 | 427 |
|
| 428 | + runTestThatShouldReturnOnlySFO(() -> restaurantRepository.findByNameEndingWithIgnoreCase("Airport (SFO)".toLowerCase(Locale.ROOT))); |
441 | 429 | }
|
442 | 430 |
|
443 | 431 | @Test // DATAGRAPH-904
|
@@ -510,17 +498,7 @@ public void shouldFindByNameIn() {
|
510 | 498 | @Test // DATAGRAPH-904
|
511 | 499 | public void shouldFindByNameMatchesRegEx() {
|
512 | 500 |
|
513 |
| - Restaurant restaurant = new Restaurant("San Francisco International Airport (SFO)", 68.0); |
514 |
| - restaurantRepository.save(restaurant); |
515 |
| - |
516 |
| - Restaurant kuroda = new Restaurant("Kuroda", 72.4); |
517 |
| - restaurantRepository.save(kuroda); |
518 |
| - |
519 |
| - List<Restaurant> results = restaurantRepository.findByNameMatchesRegex("(?i)san francisco.*"); |
520 |
| - assertNotNull(results); |
521 |
| - assertEquals(1, results.size()); |
522 |
| - assertEquals("San Francisco International Airport (SFO)", results.get(0).getName()); |
523 |
| - |
| 501 | + runTestThatShouldReturnOnlySFO(() -> restaurantRepository.findByNameMatchesRegex("(?i)san francisco.*")); |
524 | 502 | }
|
525 | 503 |
|
526 | 504 | @Test // DATAGRAPH-904
|
|
0 commit comments