### Question:
LazyDataSetValueModel extends DataSetValueModelWrapper { @Override public int size() { return sizeState.size(); } LazyDataSetValueModel(final DataSetValueModel delegate); @Override int size();  }### Answer:
@Test public void sizeShouldBeZeroAfterInitialization() { DataSetValueModelUnderTest delegateValueModel = new DataSetValueModelUnderTest(RandomValues.anyInteger()); LazyDataSetValueModel valueModel = new LazyDataSetValueModel(delegateValueModel); assertThat(valueModel.size(), is(0)); }
@Test public void onValueModelChange_sizeShouldEqualToThatOfDelegateValueModel() { int size = RandomValues.anyInteger(); DataSetValueModelUnderTest delegateValueModel = new DataSetValueModelUnderTest(size); LazyDataSetValueModel valueModel = new LazyDataSetValueModel(delegateValueModel); delegateValueModel.fireChange(); assertThat(valueModel.size(), is(size)); }