package com.philosophicalhacker.philhackernews; import android.support.annotation.NonNull; import com.philosophicalhacker.philhackernews.data.remote.HackerNewsRestAdapter; import com.philosophicalhacker.philhackernews.data.remote.RemoteDataFetcher; import com.philosophicalhacker.philhackernews.model.Item; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import java.util.ArrayList; import java.util.List; import java.util.Random; import static junit.framework.Assert.assertEquals; import static org.mockito.Mockito.when; /** * * Created by MattDupree on 7/18/15. */ @RunWith(MockitoJUnitRunner.class) public class RemoteDataFetcherTests { @Mock HackerNewsRestAdapter mHackerNewsRestAdapter; @Test public void limitsNumberOfStoriesReturnedToTwenty() { when(mHackerNewsRestAdapter.getTopStories()).thenReturn(makeRandomList()); RemoteDataFetcher remoteDataFetcher = new RemoteDataFetcher(mHackerNewsRestAdapter); List<Item> topStories = remoteDataFetcher.getTopStories(20); assertEquals(20, topStories.size()); } @NonNull private List<Integer> makeRandomList() { ArrayList<Integer> integers = new ArrayList<>(200); Random random = new Random(); for (int i = 0; i < 200; i++) { integers.add(random.nextInt()); } return integers; } }