Skip to content

Commit

Permalink
Polish LruContextCacheTests
Browse files Browse the repository at this point in the history
Use AssertJ's extracting() feature instead of ReflectionTestUtils.getField().

Closes spring-projectsgh-31640
  • Loading branch information
quaff authored and sbrannen committed Nov 21, 2023
1 parent 617ba84 commit f469028
Showing 1 changed file with 12 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@
package org.springframework.test.context.cache;

import java.util.List;
import java.util.Map;

import org.assertj.core.api.InstanceOfAssertFactories;
import org.junit.jupiter.api.Test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.test.context.MergedContextConfiguration;
import org.springframework.test.util.ReflectionTestUtils;

import static java.util.Arrays.asList;
import static org.assertj.core.api.Assertions.as;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
import static org.mockito.Mockito.mock;
Expand Down Expand Up @@ -158,17 +158,16 @@ private static MergedContextConfiguration config(Class<?> clazz) {
@SuppressWarnings("unchecked")
private static void assertCacheContents(DefaultContextCache cache, String... expectedNames) {

Map<MergedContextConfiguration, ApplicationContext> contextMap =
(Map<MergedContextConfiguration, ApplicationContext>) ReflectionTestUtils.getField(cache, "contextMap");

// @formatter:off
List<String> actualNames = contextMap.keySet().stream()
.map(cfg -> cfg.getClasses()[0])
.map(Class::getSimpleName)
.toList();
// @formatter:on

assertThat(actualNames).isEqualTo(asList(expectedNames));
assertThat(cache).extracting("contextMap", as(InstanceOfAssertFactories.map(MergedContextConfiguration.class, ApplicationContext.class)))
.satisfies((contextMap) -> {
// @formatter:off
List<String> actualNames = contextMap.keySet().stream()
.map(cfg -> cfg.getClasses()[0])
.map(Class::getSimpleName)
.toList();
// @formatter:on
assertThat(actualNames).isEqualTo(asList(expectedNames));
});
}


Expand Down

0 comments on commit f469028

Please sign in to comment.