Test case to prove binding to collection calls setter
Closes gh-9290
This commit is contained in:
parent
915ad47a0e
commit
18816c33ab
|
|
@ -305,4 +305,30 @@ public class CollectionBinderTests {
|
|||
assertThat(result).hasSize(3);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void bindToCollectionShouldAlsoCallSetterIfPresent() throws Exception {
|
||||
MockConfigurationPropertySource source = new MockConfigurationPropertySource();
|
||||
source.put("foo.items", "a,b,c");
|
||||
this.sources.add(source);
|
||||
ExampleCollectionBean result = this.binder
|
||||
.bind("foo", ExampleCollectionBean.class)
|
||||
.get();
|
||||
assertThat(result.getItems()).hasSize(4);
|
||||
assertThat(result.getItems()).containsExactly("a", "b", "c", "d");
|
||||
}
|
||||
|
||||
public static class ExampleCollectionBean {
|
||||
|
||||
private List<String> items = new ArrayList<>();
|
||||
|
||||
public List<String> getItems() {
|
||||
return this.items;
|
||||
}
|
||||
|
||||
public void setItems(List<String> items) {
|
||||
this.items.add("d");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue