### Question:
MultiItemLayoutSelector implements ItemLayoutSelector { @Override public int selectLayout(int viewType) { checkViewType(viewType); return itemLayoutIds.get(viewType); } MultiItemLayoutSelector(List<Integer> itemLayoutIds, ViewTypeSelectable viewTypeSelector); @Override int getViewTypeCount(); @Override int getItemViewType(Object item, int position); @Override int selectLayout(int viewType);  }### Answer:
@Test public void shouldReturnUserSelectedItemlayout() { int userSelectedViewType = RandomValues.nextInt(itemLayoutIds.size()); ViewTypeSelectable viewTypeSelector = withUserSelectedViewType(userSelectedViewType); MultiItemLayoutSelector layoutSelector = new MultiItemLayoutSelector(itemLayoutIds, viewTypeSelector); int actualItemLayout = layoutSelector.selectLayout(userSelectedViewType); assertThat(actualItemLayout, equalTo(itemLayoutIds.get(userSelectedViewType))); }