Improvements based on codacy-bot feedback.

This commit is contained in:
Paul Hawke 2017-07-09 17:52:50 -05:00
parent 6ccc608a1e
commit 9387d31cb6
2 changed files with 41 additions and 33 deletions

View file

@ -27,7 +27,9 @@ public class NearbyListFragment extends Fragment {
}.getType(); }.getType();
private static final Type CUR_LAT_LNG_TYPE = new TypeToken<LatLng>() { private static final Type CUR_LAT_LNG_TYPE = new TypeToken<LatLng>() {
}.getType(); }.getType();
private static final Gson gson = new GsonBuilder().registerTypeAdapter(Uri.class, new UriDeserializer()).create(); private static final Gson gson = new GsonBuilder()
.registerTypeAdapter(Uri.class, new UriDeserializer())
.create();
private NearbyAdapterFactory adapterFactory; private NearbyAdapterFactory adapterFactory;
private RecyclerView recyclerView; private RecyclerView recyclerView;
@ -39,7 +41,9 @@ public class NearbyListFragment extends Fragment {
} }
@Override @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
Timber.d("NearbyListFragment created"); Timber.d("NearbyListFragment created");
View view = inflater.inflate(R.layout.fragment_nearby, container, false); View view = inflater.inflate(R.layout.fragment_nearby, container, false);
recyclerView = (RecyclerView) view.findViewById(R.id.listView); recyclerView = (RecyclerView) view.findViewById(R.id.listView);

View file

@ -1,5 +1,6 @@
package fr.free.nrw.commons.nearby; package fr.free.nrw.commons.nearby;
import android.support.annotation.NonNull;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@ -63,21 +64,23 @@ public class NearbyAdapterFactoryTest {
NearbyAdapterFactory testObject = new NearbyAdapterFactory(null); NearbyAdapterFactory testObject = new NearbyAdapterFactory(null);
RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(PLACE)); RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(PLACE));
RendererViewHolder viewHolder = result.onCreateViewHolder(new FrameLayout(RuntimeEnvironment.application), result.getItemViewType(0)); RendererViewHolder viewHolder = renderComponent(result);
assertNotNull(viewHolder);
result.bindViewHolder(viewHolder, 0);
assertNotNull(viewHolder.itemView.findViewById(R.id.tvName)); assertNotNull(viewHolder.itemView.findViewById(R.id.tvName));
assertEquals("name", ((TextView) viewHolder.itemView.findViewById(R.id.tvName)).getText().toString()); assertEquals("name",
((TextView) viewHolder.itemView.findViewById(R.id.tvName)).getText().toString());
assertNotNull(viewHolder.itemView.findViewById(R.id.tvDesc)); assertNotNull(viewHolder.itemView.findViewById(R.id.tvDesc));
assertEquals("airport", ((TextView) viewHolder.itemView.findViewById(R.id.tvDesc)).getText().toString()); assertEquals("airport",
((TextView) viewHolder.itemView.findViewById(R.id.tvDesc)).getText().toString());
assertNotNull(viewHolder.itemView.findViewById(R.id.distance)); assertNotNull(viewHolder.itemView.findViewById(R.id.distance));
assertEquals("", ((TextView) viewHolder.itemView.findViewById(R.id.distance)).getText().toString()); assertEquals("",
((TextView) viewHolder.itemView.findViewById(R.id.distance)).getText().toString());
assertNotNull(viewHolder.itemView.findViewById(R.id.icon)); assertNotNull(viewHolder.itemView.findViewById(R.id.icon));
ShadowDrawable shadow = Shadows.shadowOf(((ImageView) viewHolder.itemView.findViewById(R.id.icon)).getDrawable()); ImageView imageView = (ImageView) viewHolder.itemView.findViewById(R.id.icon);
ShadowDrawable shadow = Shadows.shadowOf(imageView.getDrawable());
assertEquals(R.drawable.round_icon_airport, shadow.getCreatedFromResId()); assertEquals(R.drawable.round_icon_airport, shadow.getCreatedFromResId());
} }
@ -86,36 +89,23 @@ public class NearbyAdapterFactoryTest {
NearbyAdapterFactory testObject = new NearbyAdapterFactory(null); NearbyAdapterFactory testObject = new NearbyAdapterFactory(null);
RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(UNKNOWN_PLACE)); RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(UNKNOWN_PLACE));
RendererViewHolder viewHolder = result.onCreateViewHolder(new FrameLayout(RuntimeEnvironment.application), result.getItemViewType(0)); RendererViewHolder viewHolder = renderComponent(result);
assertNotNull(viewHolder);
result.bindViewHolder(viewHolder, 0);
assertNotNull(viewHolder.itemView.findViewById(R.id.tvName));
assertEquals("name", ((TextView) viewHolder.itemView.findViewById(R.id.tvName)).getText().toString());
assertNotNull(viewHolder.itemView.findViewById(R.id.tvDesc)); assertNotNull(viewHolder.itemView.findViewById(R.id.tvDesc));
assertEquals("no description found", ((TextView) viewHolder.itemView.findViewById(R.id.tvDesc)).getText().toString()); assertEquals("no description found",
((TextView) viewHolder.itemView.findViewById(R.id.tvDesc)).getText().toString());
assertNotNull(viewHolder.itemView.findViewById(R.id.distance));
assertEquals("", ((TextView) viewHolder.itemView.findViewById(R.id.distance)).getText().toString());
assertNotNull(viewHolder.itemView.findViewById(R.id.icon)); assertNotNull(viewHolder.itemView.findViewById(R.id.icon));
ShadowDrawable shadow = Shadows.shadowOf(((ImageView) viewHolder.itemView.findViewById(R.id.icon)).getDrawable()); ImageView imageView = (ImageView) viewHolder.itemView.findViewById(R.id.icon);
ShadowDrawable shadow = Shadows.shadowOf(imageView.getDrawable());
assertEquals(R.drawable.round_icon_unknown, shadow.getCreatedFromResId()); assertEquals(R.drawable.round_icon_unknown, shadow.getCreatedFromResId());
} }
@Test @Test
public void clickView() { public void clickView() {
NearbyAdapterFactory testObject = new NearbyAdapterFactory(new PlaceRenderer.PlaceClickedListener() { NearbyAdapterFactory testObject = new NearbyAdapterFactory(new MockPlaceClickedListener());
@Override
public void placeClicked(Place place) {
clickedPlace = place;
}
});
RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(PLACE)); RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(PLACE));
RendererViewHolder viewHolder = result.onCreateViewHolder(new FrameLayout(RuntimeEnvironment.application), result.getItemViewType(0)); RendererViewHolder viewHolder = renderComponent(result);
assertNotNull(viewHolder);
result.bindViewHolder(viewHolder, 0);
viewHolder.itemView.performClick(); viewHolder.itemView.performClick();
@ -126,10 +116,24 @@ public class NearbyAdapterFactoryTest {
public void clickViewHandlesMisconfiguredListener() { public void clickViewHandlesMisconfiguredListener() {
NearbyAdapterFactory testObject = new NearbyAdapterFactory(null); NearbyAdapterFactory testObject = new NearbyAdapterFactory(null);
RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(PLACE)); RVRendererAdapter<Place> result = testObject.create(Collections.singletonList(PLACE));
RendererViewHolder viewHolder = result.onCreateViewHolder(new FrameLayout(RuntimeEnvironment.application), result.getItemViewType(0)); RendererViewHolder viewHolder = renderComponent(result);
assertNotNull(viewHolder);
result.bindViewHolder(viewHolder, 0);
viewHolder.itemView.performClick(); viewHolder.itemView.performClick();
} }
@NonNull
private RendererViewHolder renderComponent(RVRendererAdapter<Place> result) {
FrameLayout viewGroup = new FrameLayout(RuntimeEnvironment.application);
int itemViewType = result.getItemViewType(0);
RendererViewHolder viewHolder = result.onCreateViewHolder(viewGroup, itemViewType);
assertNotNull(viewHolder);
result.bindViewHolder(viewHolder, 0);
return viewHolder;
}
private class MockPlaceClickedListener implements PlaceRenderer.PlaceClickedListener {
@Override
public void placeClicked(Place place) {
clickedPlace = place;
}
}
} }