Skip to content

Commit 82e84c5

Browse files
committed
Tests for AbstractPropertyResolverRegistry.
1 parent 14901a2 commit 82e84c5

File tree

1 file changed

+83
-0
lines changed

1 file changed

+83
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
package com.mattbertolini.spring.web.bind;
2+
3+
import com.mattbertolini.spring.web.bind.resolver.RequestPropertyResolverBase;
4+
import org.junit.jupiter.api.BeforeEach;
5+
import org.junit.jupiter.api.Test;
6+
import org.springframework.core.convert.TypeDescriptor;
7+
8+
import java.util.Collections;
9+
import java.util.Set;
10+
11+
import static org.assertj.core.api.Assertions.assertThat;
12+
import static org.mockito.ArgumentMatchers.any;
13+
import static org.mockito.Mockito.mock;
14+
import static org.mockito.Mockito.when;
15+
16+
class AbstractPropertyResolverRegistryTest {
17+
private TestingRegistry registry;
18+
19+
@BeforeEach
20+
void setUp() {
21+
registry = new TestingRegistry();
22+
}
23+
24+
@Test
25+
void findsResolvers() {
26+
TestingResolver resolverOne = mock(TestingResolver.class);
27+
TestingResolver resolverTwo = mock(TestingResolver.class);
28+
TestingResolver resolverThree = mock(TestingResolver.class);
29+
30+
when(resolverTwo.supports(any(TypeDescriptor.class))).thenReturn(true);
31+
32+
registry.addResolver(resolverOne);
33+
registry.addResolver(resolverTwo);
34+
registry.addResolver(resolverThree);
35+
36+
TestingResolver actual = registry.findResolverFor(TypeDescriptor.valueOf(String.class));
37+
assertThat(actual).isEqualTo(resolverTwo);
38+
}
39+
40+
@Test
41+
void addResolversWithSet() {
42+
TestingResolver resolver = mock(TestingResolver.class);
43+
Set<TestingResolver> set = Collections.singleton(resolver);
44+
45+
registry.addResolvers(set);
46+
47+
Set<TestingResolver> actual = registry.getPropertyResolvers();
48+
assertThat(actual)
49+
.isNotEmpty()
50+
.containsAll(set);
51+
}
52+
53+
@Test
54+
void addResolversFromAnotherRegistry() {
55+
TestingResolver resolverOne = mock(TestingResolver.class);
56+
TestingResolver resolverTwo = mock(TestingResolver.class);
57+
TestingRegistry anotherRegistry = new TestingRegistry();
58+
anotherRegistry.addResolver(resolverOne);
59+
anotherRegistry.addResolver(resolverTwo);
60+
61+
registry.addResolvers(anotherRegistry);
62+
63+
Set<TestingResolver> actual = registry.getPropertyResolvers();
64+
assertThat(actual)
65+
.isNotEmpty()
66+
.contains(resolverOne, resolverTwo);
67+
}
68+
69+
@Test
70+
void addsSingleResolver() {
71+
TestingResolver resolver = mock(TestingResolver.class);
72+
73+
registry.addResolver(resolver);
74+
75+
Set<TestingResolver> actual = registry.getPropertyResolvers();
76+
assertThat(actual)
77+
.isNotEmpty()
78+
.contains(resolver);
79+
}
80+
81+
private interface TestingResolver extends RequestPropertyResolverBase<Object, Object> {}
82+
private static class TestingRegistry extends AbstractPropertyResolverRegistry<TestingResolver> {}
83+
}

0 commit comments

Comments
 (0)