Test case to prove binding to collection calls setter

Closes gh-9290
This commit is contained in:
Madhura Bhave 2017-06-29 15:52:21 -07:00
parent 915ad47a0e
commit 18816c33ab
1 changed files with 26 additions and 0 deletions

View File

@ -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");
}
}
}