Skip to content
Snippets Groups Projects
Commit f8ec8d74 authored by Tamás Szabó's avatar Tamás Szabó
Browse files

detail and missing tests

parent 72956238
No related branches found
No related tags found
2 merge requests!12finished labor 6,!11implement mock
......@@ -12,7 +12,7 @@ android:
- extra-google-googleplayservices
- extra-google-m2repository
- extra-android-m2repository
- addon-google_apis-google-27
- addon-google_apis-google-22
- sys-img-armeabi-v7a-android-22
env:
global:
......
......@@ -17,7 +17,7 @@ public class MockAPI implements ComicApi {
setImg("https://cataas.com/c");
setDay("4");
setMonth("4");
setNum(10);
setNum(2);
setTitle("Title");
setYear("2000");
}};
......@@ -60,22 +60,22 @@ public class MockAPI implements ComicApi {
@Override
public Call<Comic> getComic(Long id) {
Comic comic = null;
if (10L == id) {
if (2L == id) {
comic = new Comic() {{
setImg("https://cataas.com/c");
setDay("4");
setMonth("4");
setNum(10);
setNum(2);
setTitle("Title");
setYear("2000");
}};
} else if (9L == id) {
} else if (1L == id) {
comic = new Comic() {{
setImg("https://cataas.com/cat");
setDay("1");
setMonth("1");
setNum(9);
setNum(1);
setTitle("Tittle");
setYear("1999");
}};
......
......@@ -16,7 +16,7 @@ public class MockDAO implements ComicsDAO {
setImg("https://cataas.com/c");
setDay("4");
setMonth("4");
setNum(10L);
setNum(2L);
setTitle("Title");
setYear("2000");
}});
......@@ -24,7 +24,7 @@ public class MockDAO implements ComicsDAO {
setImg("https://cataas.com/cat");
setDay("1");
setMonth("1");
setNum(9L);
setNum(1L);
setTitle("Tittle");
setYear("1999");
}});
......
package me.szaki.xkcd.xkcdbrowser.test;
import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import me.szaki.xkcd.xkcdbrowser.BuildConfig;
import me.szaki.xkcd.xkcdbrowser.TestHelper;
import me.szaki.xkcd.xkcdbrowser.model.ComicStrip;
import me.szaki.xkcd.xkcdbrowser.network.model.Comic;
import me.szaki.xkcd.xkcdbrowser.ui.detail.DetailPresenter;
import me.szaki.xkcd.xkcdbrowser.ui.detail.DetailScreen;
import me.szaki.xkcd.xkcdbrowser.ui.main.MainPresenter;
import me.szaki.xkcd.xkcdbrowser.ui.main.MainScreen;
import static junit.framework.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
public class DetailTest {
private DetailPresenter detailPresenter;
private DetailScreen detailScreen;
private CountDownLatch latch;
@Before
public void Setup() {
TestHelper.setTestInjector();
detailScreen = mock(DetailScreen.class);
detailPresenter = new DetailPresenter();
detailPresenter.attachScreen(detailScreen);
latch = new CountDownLatch(1);
}
@Test
public void getComicByNum() throws InterruptedException {
detailPresenter.getComicByNum(2L);
latch.await(200, TimeUnit.MILLISECONDS);
ArgumentCaptor<ComicStrip> comiCaptor = ArgumentCaptor.forClass(ComicStrip.class);
verify(detailScreen).dataReceived(comiCaptor.capture());
assertEquals(2L, (long) comiCaptor.getValue().getNum());
assertEquals("4", comiCaptor.getValue().getDay());
assertEquals("4", comiCaptor.getValue().getMonth());
assertEquals("2000", comiCaptor.getValue().getYear());
assertEquals("Title", comiCaptor.getValue().getTitle());
assertEquals("https://cataas.com/c", comiCaptor.getValue().getImg());
}
@After
public void Teardown() {
detailPresenter.detachScreen();
}
}
......@@ -55,14 +55,14 @@ public class FavoritesTest {
List<ComicStrip> list = comiCaptor.getValue();
assertEquals(10L, (long) list.get(0).getNum());
assertEquals(2L, (long) list.get(0).getNum());
assertEquals("4", list.get(0).getDay());
assertEquals("4", list.get(0).getMonth());
assertEquals("2000", list.get(0).getYear());
assertEquals("Title", list.get(0).getTitle());
assertEquals("https://cataas.com/c", list.get(0).getImg());
assertEquals(9L, (long) list.get(1).getNum());
assertEquals(1L, (long) list.get(1).getNum());
assertEquals("1", list.get(1).getDay());
assertEquals("1", list.get(1).getMonth());
assertEquals("1999", list.get(1).getYear());
......@@ -96,7 +96,7 @@ public class FavoritesTest {
List<ComicStrip> list = comiCaptor.getValue();
assertEquals(9L, (long) list.get(0).getNum());
assertEquals(1L, (long) list.get(0).getNum());
assertEquals("1", list.get(0).getDay());
assertEquals("1", list.get(0).getMonth());
assertEquals("1999", list.get(0).getYear());
......
......@@ -18,6 +18,7 @@ import me.szaki.xkcd.xkcdbrowser.network.model.Comic;
import me.szaki.xkcd.xkcdbrowser.ui.main.MainPresenter;
import me.szaki.xkcd.xkcdbrowser.ui.main.MainScreen;
import static junit.framework.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.verify;
......@@ -48,12 +49,14 @@ public class MainTest {
ArgumentCaptor<Comic> comiCaptor = ArgumentCaptor.forClass(Comic.class);
verify(mainScreen).getImage(comiCaptor.capture());
assertEquals(10, (int) comiCaptor.getValue().getNum());
assertEquals(2, (int) comiCaptor.getValue().getNum());
assertEquals("4", comiCaptor.getValue().getDay());
assertEquals("4", comiCaptor.getValue().getMonth());
assertEquals("2000", comiCaptor.getValue().getYear());
assertEquals("Title", comiCaptor.getValue().getTitle());
assertEquals("https://cataas.com/c", comiCaptor.getValue().getImg());
verify(mainScreen).setFavorite(true);
}
@Test
......@@ -69,16 +72,45 @@ public class MainTest {
ArgumentCaptor<Comic> comiCaptor = ArgumentCaptor.forClass(Comic.class);
verify(mainScreen).getImage(comiCaptor.capture());
assertEquals(9, (int) comiCaptor.getValue().getNum());
assertEquals(1, (int) comiCaptor.getValue().getNum());
assertEquals("1", comiCaptor.getValue().getDay());
assertEquals("1", comiCaptor.getValue().getMonth());
assertEquals("1999", comiCaptor.getValue().getYear());
assertEquals("Tittle", comiCaptor.getValue().getTitle());
assertEquals("https://cataas.com/cat", comiCaptor.getValue().getImg());
verify(mainScreen).setFavorite(true);
}
@Test
public void getRandom() {
public void getRandom() throws InterruptedException {
mainPresenter.getCurrent();
latch.await(200, TimeUnit.MILLISECONDS);
reset(mainScreen);
mainPresenter.getRandom();
latch.await(200, TimeUnit.MILLISECONDS);
ArgumentCaptor<Comic> comiCaptor = ArgumentCaptor.forClass(Comic.class);
verify(mainScreen).getImage(comiCaptor.capture());
if (comiCaptor.getValue().getNum() == 1L) {
assertEquals(1, (int) comiCaptor.getValue().getNum());
assertEquals("1", comiCaptor.getValue().getDay());
assertEquals("1", comiCaptor.getValue().getMonth());
assertEquals("1999", comiCaptor.getValue().getYear());
assertEquals("Tittle", comiCaptor.getValue().getTitle());
assertEquals("https://cataas.com/cat", comiCaptor.getValue().getImg());
} else if (comiCaptor.getValue().getNum() == 2L) {
assertEquals(2, (int) comiCaptor.getValue().getNum());
assertEquals("4", comiCaptor.getValue().getDay());
assertEquals("4", comiCaptor.getValue().getMonth());
assertEquals("2000", comiCaptor.getValue().getYear());
assertEquals("Title", comiCaptor.getValue().getTitle());
assertEquals("https://cataas.com/c", comiCaptor.getValue().getImg());
} else {
assertTrue(false);
}
}
......@@ -98,12 +130,14 @@ public class MainTest {
ArgumentCaptor<Comic> comiCaptor = ArgumentCaptor.forClass(Comic.class);
verify(mainScreen).getImage(comiCaptor.capture());
assertEquals(10, (int) comiCaptor.getValue().getNum());
assertEquals(2, (int) comiCaptor.getValue().getNum());
assertEquals("4", comiCaptor.getValue().getDay());
assertEquals("4", comiCaptor.getValue().getMonth());
assertEquals("2000", comiCaptor.getValue().getYear());
assertEquals("Title", comiCaptor.getValue().getTitle());
assertEquals("https://cataas.com/c", comiCaptor.getValue().getImg());
verify(mainScreen).setFavorite(true);
}
@Test
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment