### Question:
DataSetAdapter extends BaseAdapter { @Override public View getDropDownView(int position, View convertView, ViewGroup parent) { return createViewFromResource(position, convertView, parent, DisplayType.DROPDOWN_LAYOUT); } DataSetAdapter(DataSetValueModel dataSetValueModel, 
			ItemLayoutBinder itemLayoutBinder, ItemLayoutBinder dropdownLayoutBinder, 
			ItemLayoutSelector itemLayoutSelector, int dropdownLayoutId,
			ViewTags<RefreshableItemPresentationModel> viewTags, boolean preInitializeViews); @Override int getCount(); @Override Object getItem(int position); @Override long getItemId(int position); @Override View getView(int position, View convertView, ViewGroup parent); @Override View getDropDownView(int position, View convertView, ViewGroup parent); @Override int getViewTypeCount(); @Override int getItemViewType(int position);  }### Answer:
@Test public void whenGenerateDropdownView_thenInflateTheCorrectViewWithItemPresentationModelAttached() { View view = mock(View.class); ItemLayoutBinder dropdownLayoutBinder = aItemLayoutBinder().inflateAndReturnRootView(view); ViewTag<RefreshableItemPresentationModel> viewTag = mockViewTag(); ViewTags<RefreshableItemPresentationModel> viewTags = aViewTags().tagForViewAndReturn(view, viewTag); DataSetAdapter dataSetAdapter = aDataSetAdapter() .withDropdownLayoutBinder(dropdownLayoutBinder) .withViewTags(viewTags) .build(); View result = dataSetAdapter.getDropDownView(0, null, null); assertThat(result, sameInstance(view)); verify(viewTag).set(notNull(RefreshableItemPresentationModel.class)); }