Niedzielski has uploaded a new change for review.
https://gerrit.wikimedia.org/r/293179
Change subject: Add most read models and unmarshaller tests
......................................................................
Add most read models and unmarshaller tests
Add models for the most read Feed card. Since the models specify
unmarshalling annotations and have a tiny bit of deserialization logic
themselves, add tests.
Bug: T129082
Change-Id: I9771f06ea563c66cbc6d03c030d8c48f15721fa4
---
A app/src/main/java/org/wikipedia/feed/mostread/MostReadArticle.java
A app/src/main/java/org/wikipedia/feed/mostread/MostReadArticles.java
A app/src/test/java/org/wikipedia/feed/mostread/MostReadArticleTest.java
A app/src/test/java/org/wikipedia/feed/mostread/MostReadArticlesTest.java
A app/src/test/res/raw/most_read_many_articles.json
A app/src/test/res/raw/most_read_no_articles.json
6 files changed, 646 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/79/293179/1
diff --git a/app/src/main/java/org/wikipedia/feed/mostread/MostReadArticle.java
b/app/src/main/java/org/wikipedia/feed/mostread/MostReadArticle.java
new file mode 100644
index 0000000..8396c03
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/feed/mostread/MostReadArticle.java
@@ -0,0 +1,60 @@
+package org.wikipedia.feed.mostread;
+
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+
+import com.google.gson.annotations.SerializedName;
+
+import java.net.URL;
+import java.util.Collections;
+import java.util.Map;
+
+public final class MostReadArticle {
+ @SerializedName("normalizedtitle") @SuppressWarnings("NullableProblems")
@NonNull private String normalizedTitle;
+ @SuppressWarnings("NullableProblems") @NonNull private String title;
+ @Nullable private String description;
+ @SerializedName("pageid") private int pageId;
+ @SerializedName("revid") private long revId;
+ @SerializedName("thumbnail") @SuppressWarnings("NullableProblems")
@NonNull private Map<Integer, URL> thumbnails;
+ private int rank;
+ private int views;
+
+ @NonNull public String normalizedTitle() {
+ return normalizedTitle;
+ }
+
+ @NonNull public String title() {
+ return title;
+ }
+
+ @Nullable public String description() {
+ return description;
+ }
+
+ public int pageId() {
+ return pageId;
+ }
+
+ public long revId() {
+ return revId;
+ }
+
+ public Map<Integer, URL> thumbnails() {
+ return thumbnails;
+ }
+
+ public int rank() {
+ return rank;
+ }
+
+ public int views() {
+ return views;
+ }
+
+ private MostReadArticle() {
+ //noinspection ConstantConditions
+ if (thumbnails == null) {
+ thumbnails = Collections.emptyMap();
+ }
+ }
+}
\ No newline at end of file
diff --git
a/app/src/main/java/org/wikipedia/feed/mostread/MostReadArticles.java
b/app/src/main/java/org/wikipedia/feed/mostread/MostReadArticles.java
new file mode 100644
index 0000000..13da633
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/feed/mostread/MostReadArticles.java
@@ -0,0 +1,27 @@
+package org.wikipedia.feed.mostread;
+
+import android.support.annotation.NonNull;
+
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+
+public final class MostReadArticles {
+ @SuppressWarnings("NullableProblems") @NonNull private Date date;
+ @SuppressWarnings("NullableProblems") @NonNull private
List<MostReadArticle> articles;
+
+ @NonNull public Date date() {
+ return date;
+ }
+
+ @NonNull public List<MostReadArticle> articles() {
+ return articles;
+ }
+
+ private MostReadArticles() {
+ //noinspection ConstantConditions
+ if (articles == null) {
+ articles = Collections.emptyList();
+ }
+ }
+}
\ No newline at end of file
diff --git
a/app/src/test/java/org/wikipedia/feed/mostread/MostReadArticleTest.java
b/app/src/test/java/org/wikipedia/feed/mostread/MostReadArticleTest.java
new file mode 100644
index 0000000..e89407f
--- /dev/null
+++ b/app/src/test/java/org/wikipedia/feed/mostread/MostReadArticleTest.java
@@ -0,0 +1,59 @@
+package org.wikipedia.feed.mostread;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.wikipedia.test.TestRunner;
+
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+
+@RunWith(TestRunner.class)
+@SuppressWarnings("checkstyle:magicnumber")
+public class MostReadArticleTest {
+ private List<MostReadArticle> subjects;
+
+ @Before public void setUp() throws Throwable {
+ subjects =
MostReadArticlesTest.unmarshal("most_read_many_articles.json").articles();
+ }
+
+ @Test public void testUnmarshalThumbnails() throws Throwable {
+ MostReadArticle subject = subjects.get(3);
+
+ assertThat(subject.normalizedTitle(), is("Marilyn Monroe"));
+ assertThat(subject.title(), is("Marilyn_Monroe"));
+ assertThat(subject.description(), is("American actress, model, and
singer"));
+ assertThat(subject.pageId(), is(19318));
+ assertThat(subject.revId(), is(724154013L));
+
+ Map<Integer, URL> thumbnails = new HashMap<>();
+ thumbnails.put(60, new
URL("http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Marilyn_Monroe_in_1952.jpg/60px-Marilyn_Monroe_in_1952.jpg"));
+ thumbnails.put(120, new
URL("http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Marilyn_Monroe_in_1952.jpg/120px-Marilyn_Monroe_in_1952.jpg"));
+ thumbnails.put(320, new
URL("http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Marilyn_Monroe_in_1952.jpg/229px-Marilyn_Monroe_in_1952.jpg"));
+
+ assertThat(subject.thumbnails(), is(thumbnails));
+
+ assertThat(subject.rank(), is(8));
+ assertThat(subject.views(), is(201439));
+ }
+
+ @Test public void testUnmarshalNoThumbnails() {
+ MostReadArticle subject = subjects.get(0);
+
+ assertThat(subject.normalizedTitle(), is("Bicycle Race"));
+ assertThat(subject.title(), is("Bicycle_Race"));
+ assertThat(subject.description(), is("rock song by Queen"));
+ assertThat(subject.pageId(), is(3957496));
+ assertThat(subject.revId(), is(723099074L));
+ assertThat(subject.thumbnails(), notNullValue());
+ assertThat(subject.thumbnails().size(), is(0));
+ assertThat(subject.rank(), is(3));
+ assertThat(subject.views(), is(330200));
+ }
+}
\ No newline at end of file
diff --git
a/app/src/test/java/org/wikipedia/feed/mostread/MostReadArticlesTest.java
b/app/src/test/java/org/wikipedia/feed/mostread/MostReadArticlesTest.java
new file mode 100644
index 0000000..116de34
--- /dev/null
+++ b/app/src/test/java/org/wikipedia/feed/mostread/MostReadArticlesTest.java
@@ -0,0 +1,51 @@
+package org.wikipedia.feed.mostread;
+
+import android.support.annotation.NonNull;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.wikipedia.json.GsonUnmarshaller;
+import org.wikipedia.test.TestFileUtil;
+import org.wikipedia.test.TestRunner;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+
+@RunWith(TestRunner.class)
+@SuppressWarnings("checkstyle:magicnumber")
+public class MostReadArticlesTest {
+ @NonNull public static MostReadArticles unmarshal(@NonNull String
filename) throws Throwable {
+ String json = TestFileUtil.readRawFile(filename);
+ return GsonUnmarshaller.unmarshal(MostReadArticles.class, json);
+ }
+
+ @Test public void testUnmarshalManyArticles() throws Throwable {
+ MostReadArticles subject = unmarshal("most_read_many_articles.json");
+
+ assertThat(subject.date(), is(date("2016-06-01Z")));
+
+ assertThat(subject.articles(), notNullValue());
+ assertThat(subject.articles().size(), is(40));
+ }
+
+ @Test public void testUnmarshalNoArticles() throws Throwable {
+ MostReadArticles subject = unmarshal("most_read_no_articles.json");
+
+ assertThat(subject.date(), is(date("2016-06-01Z")));
+
+ assertThat(subject.articles(), notNullValue());
+ assertThat(subject.articles().size(), is(0));
+ }
+
+ @NonNull private Date date(@NonNull String str) throws Throwable {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'Z'",
Locale.ROOT);
+ format.setTimeZone(TimeZone.getTimeZone("UTC"));
+ return format.parse(str);
+ }
+}
\ No newline at end of file
diff --git a/app/src/test/res/raw/most_read_many_articles.json
b/app/src/test/res/raw/most_read_many_articles.json
new file mode 100644
index 0000000..2a2aa69
--- /dev/null
+++ b/app/src/test/res/raw/most_read_many_articles.json
@@ -0,0 +1,446 @@
+{
+ "date": "2016-06-01Z",
+ "articles": [{
+ "views": 330200,
+ "rank": 3,
+ "title": "Bicycle_Race",
+ "pageid": 3957496,
+ "normalizedtitle": "Bicycle Race",
+ "description": "rock song by Queen",
+ "revid": 723099074
+ }, {
+ "views": 265986,
+ "rank": 5,
+ "title": "Dare_to_Be_Stupid_(song)",
+ "pageid": 4082868,
+ "normalizedtitle": "Dare to Be Stupid (song)",
+ "description": "1985 \"Weird Al\" Yankovic song",
+ "revid": 723158599
+ }, {
+ "views": 258829,
+ "rank": 6,
+ "title": "Razak_Khan",
+ "pageid": 40626711,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Razak_Khan.jpg/60px-Razak_Khan.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Razak_Khan.jpg/120px-Razak_Khan.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Razak_Khan.jpg/241px-Razak_Khan.jpg"
+ },
+ "normalizedtitle": "Razak Khan",
+ "description": "Indian actor",
+ "revid": 724044179
+ }, {
+ "views": 201439,
+ "rank": 8,
+ "title": "Marilyn_Monroe",
+ "pageid": 19318,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Marilyn_Monroe_in_1952.jpg/60px-Marilyn_Monroe_in_1952.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Marilyn_Monroe_in_1952.jpg/120px-Marilyn_Monroe_in_1952.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/Marilyn_Monroe_in_1952.jpg/229px-Marilyn_Monroe_in_1952.jpg"
+ },
+ "normalizedtitle": "Marilyn Monroe",
+ "description": "American actress, model, and singer",
+ "revid": 724154013
+ }, {
+ "views": 184527,
+ "rank": 9,
+ "title": "Het_Klokhuis",
+ "pageid": 3118503,
+ "normalizedtitle": "Het Klokhuis",
+ "description": "Dutch educational show",
+ "revid": 723880486
+ }, {
+ "views": 176512,
+ "rank": 10,
+ "title": "Big_Trouble_(2002_film)",
+ "pageid": 1703740,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/en/thumb/b/b5/Big_trouble_ver2.jpg/60px-Big_trouble_ver2.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/en/thumb/b/b5/Big_trouble_ver2.jpg/120px-Big_trouble_ver2.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/en/thumb/b/b5/Big_trouble_ver2.jpg/217px-Big_trouble_ver2.jpg"
+ },
+ "normalizedtitle": "Big Trouble (2002 film)",
+ "description": "2002 American comedy film",
+ "revid": 718183639
+ }, {
+ "views": 136099,
+ "rank": 11,
+ "title": "X-Men:_Apocalypse",
+ "pageid": 43530847,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Englefield_House_-_geograph.org.uk_-_1824880.jpg/60px-Englefield_House_-_geograph.org.uk_-_1824880.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Englefield_House_-_geograph.org.uk_-_1824880.jpg/120px-Englefield_House_-_geograph.org.uk_-_1824880.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/9/98/Englefield_House_-_geograph.org.uk_-_1824880.jpg/320px-Englefield_House_-_geograph.org.uk_-_1824880.jpg"
+ },
+ "normalizedtitle": "X-Men: Apocalypse",
+ "description": "2016 superhero film",
+ "revid": 724164773
+ }, {
+ "views": 125269,
+ "rank": 12,
+ "title": "Gotthard_Base_Tunnel",
+ "pageid": 692624,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/20141120_gotthard-basistunnel02-wikipedia-hannes-ortlieb.jpg/60px-20141120_gotthard-basistunnel02-wikipedia-hannes-ortlieb.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/20141120_gotthard-basistunnel02-wikipedia-hannes-ortlieb.jpg/120px-20141120_gotthard-basistunnel02-wikipedia-hannes-ortlieb.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/5d/20141120_gotthard-basistunnel02-wikipedia-hannes-ortlieb.jpg/320px-20141120_gotthard-basistunnel02-wikipedia-hannes-ortlieb.jpg"
+ },
+ "normalizedtitle": "Gotthard Base Tunnel",
+ "description": "railway tunnel through the Swiss Alps",
+ "revid": 724186485
+ }, {
+ "views": 116784,
+ "rank": 14,
+ "title": "UEFA_Euro_2016",
+ "pageid": 7932564,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/7/78/UEFA_Euro_2016_qualifying_map.svg/60px-UEFA_Euro_2016_qualifying_map.svg.png",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/7/78/UEFA_Euro_2016_qualifying_map.svg/120px-UEFA_Euro_2016_qualifying_map.svg.png",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/7/78/UEFA_Euro_2016_qualifying_map.svg/320px-UEFA_Euro_2016_qualifying_map.svg.png"
+ },
+ "normalizedtitle": "UEFA Euro 2016",
+ "description": "football tournament held in 2016",
+ "revid": 724190122
+ }, {
+ "views": 98366,
+ "rank": 15,
+ "title": "Kunta_Kinte",
+ "pageid": 951527,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/IJzeren_voetring_voor_gevangenen_transparent_background.png/60px-IJzeren_voetring_voor_gevangenen_transparent_background.png",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/IJzeren_voetring_voor_gevangenen_transparent_background.png/120px-IJzeren_voetring_voor_gevangenen_transparent_background.png",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/IJzeren_voetring_voor_gevangenen_transparent_background.png/320px-IJzeren_voetring_voor_gevangenen_transparent_background.png"
+ },
+ "normalizedtitle": "Kunta Kinte",
+ "description": "From Alex Haley's ''Roots''",
+ "revid": 724163180
+ }, {
+ "views": 96331,
+ "rank": 16,
+ "title": "98.6_(disambiguation)",
+ "pageid": 12124572,
+ "normalizedtitle": "98.6 (disambiguation)",
+ "description": "Wikipedia disambiguation page",
+ "revid": 635924234
+ }, {
+ "views": 92076,
+ "rank": 17,
+ "title": "Deaths_in_2016",
+ "pageid": 48857868,
+ "normalizedtitle": "Deaths in 2016",
+ "description": "Wikimedia list article",
+ "revid": 724193677
+ }, {
+ "views": 88800,
+ "rank": 18,
+ "title": "Amber_Heard",
+ "pageid": 10784468,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/0/01/Amber_Heard_2011.jpg/60px-Amber_Heard_2011.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/0/01/Amber_Heard_2011.jpg/120px-Amber_Heard_2011.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/0/01/Amber_Heard_2011.jpg/231px-Amber_Heard_2011.jpg"
+ },
+ "normalizedtitle": "Amber Heard",
+ "description": "American actress",
+ "revid": 724146684
+ }, {
+ "views": 86325,
+ "rank": 19,
+ "title": "Game_of_Thrones_(season_6)",
+ "pageid": 43186937,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Castillo_de_Zafra_-_Exterior.JPG/60px-Castillo_de_Zafra_-_Exterior.JPG",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Castillo_de_Zafra_-_Exterior.JPG/120px-Castillo_de_Zafra_-_Exterior.JPG",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Castillo_de_Zafra_-_Exterior.JPG/320px-Castillo_de_Zafra_-_Exterior.JPG"
+ },
+ "normalizedtitle": "Game of Thrones (season 6)",
+ "description": "sixth season of the fantasy drama television
series Game of Thrones",
+ "revid": 724188750
+ }, {
+ "views": 77042,
+ "rank": 20,
+ "title": "Roots_(2016_miniseries)",
+ "pageid": 49403994,
+ "normalizedtitle": "Roots (2016 miniseries)",
+ "description": "2016 miniseries",
+ "revid": 724090522
+ }, {
+ "views": 75046,
+ "rank": 21,
+ "title": "Game_of_Thrones",
+ "pageid": 20715044,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Game_of_Thrones_Oslo_exhibition_2014_-_Weapons.jpg/60px-Game_of_Thrones_Oslo_exhibition_2014_-_Weapons.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Game_of_Thrones_Oslo_exhibition_2014_-_Weapons.jpg/120px-Game_of_Thrones_Oslo_exhibition_2014_-_Weapons.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Game_of_Thrones_Oslo_exhibition_2014_-_Weapons.jpg/320px-Game_of_Thrones_Oslo_exhibition_2014_-_Weapons.jpg"
+ },
+ "normalizedtitle": "Game of Thrones",
+ "description": "American fantasy drama television series",
+ "revid": 724159123
+ }, {
+ "views": 72363,
+ "rank": 23,
+ "title": "Roots_(miniseries)",
+ "pageid": 50676323,
+ "normalizedtitle": "Roots (miniseries)",
+ "revid": 722977223
+ }, {
+ "views": 69446,
+ "rank": 24,
+ "title": "Captain_America:_Civil_War",
+ "pageid": 41974496,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Cast_of_Captain_America_Civil_War.jpg/60px-Cast_of_Captain_America_Civil_War.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Cast_of_Captain_America_Civil_War.jpg/120px-Cast_of_Captain_America_Civil_War.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Cast_of_Captain_America_Civil_War.jpg/320px-Cast_of_Captain_America_Civil_War.jpg"
+ },
+ "normalizedtitle": "Captain America: Civil War",
+ "description": "2016 superhero film produced by Marvel Studios",
+ "revid": 724185751
+ }, {
+ "views": 66186,
+ "rank": 25,
+ "title": "Dread_Pirate_Roberts",
+ "pageid": 592069,
+ "normalizedtitle": "Dread Pirate Roberts",
+ "description": "fictional pirate",
+ "revid": 723725070
+ }, {
+ "views": 65737,
+ "rank": 26,
+ "title": "State_of_Origin_series",
+ "pageid": 1954843,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/en/thumb/e/e8/First_State_of_Origin_Shield.jpg/60px-First_State_of_Origin_Shield.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/en/thumb/e/e8/First_State_of_Origin_Shield.jpg/120px-First_State_of_Origin_Shield.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/en/thumb/e/e8/First_State_of_Origin_Shield.jpg/301px-First_State_of_Origin_Shield.jpg"
+ },
+ "normalizedtitle": "State of Origin series",
+ "revid": 723953814
+ }, {
+ "views": 65675,
+ "rank": 27,
+ "title": "Gorilla",
+ "pageid": 12546,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Male_gorilla_in_SF_zoo.jpg/60px-Male_gorilla_in_SF_zoo.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Male_gorilla_in_SF_zoo.jpg/120px-Male_gorilla_in_SF_zoo.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Male_gorilla_in_SF_zoo.jpg/287px-Male_gorilla_in_SF_zoo.jpg"
+ },
+ "normalizedtitle": "Gorilla",
+ "description": "genus of mammals",
+ "revid": 723875732
+ }, {
+ "views": 62510,
+ "rank": 28,
+ "title": "Stephen_Curry",
+ "pageid": 5608488,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Stephen_Curry_dribbling_2016_%28cropped%29.jpg/60px-Stephen_Curry_dribbling_2016_%28cropped%29.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Stephen_Curry_dribbling_2016_%28cropped%29.jpg/120px-Stephen_Curry_dribbling_2016_%28cropped%29.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Stephen_Curry_dribbling_2016_%28cropped%29.jpg/178px-Stephen_Curry_dribbling_2016_%28cropped%29.jpg"
+ },
+ "normalizedtitle": "Stephen Curry",
+ "description": "American basketball player",
+ "revid": 724183299
+ }, {
+ "views": 62441,
+ "rank": 29,
+ "title": "Maya_Rudolph",
+ "pageid": 511348,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Maya_Rudolph.jpg/60px-Maya_Rudolph.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Maya_Rudolph.jpg/120px-Maya_Rudolph.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Maya_Rudolph.jpg/318px-Maya_Rudolph.jpg"
+ },
+ "normalizedtitle": "Maya Rudolph",
+ "description": "American comedic actress",
+ "revid": 723982649
+ }, {
+ "views": 62315,
+ "rank": 30,
+ "title": "Johnny_Depp",
+ "pageid": 71870,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/JohnnyDeppHWOFJune2013.jpg/60px-JohnnyDeppHWOFJune2013.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/JohnnyDeppHWOFJune2013.jpg/120px-JohnnyDeppHWOFJune2013.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/JohnnyDeppHWOFJune2013.jpg/273px-JohnnyDeppHWOFJune2013.jpg"
+ },
+ "normalizedtitle": "Johnny Depp",
+ "description": "American actor, film producer, and musician",
+ "revid": 723602532
+ }, {
+ "views": 61229,
+ "rank": 31,
+ "title": "Donald_Trump",
+ "pageid": 4848272,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Donald_Trump_August_19%2C_2015_%28cropped%29.jpg/60px-Donald_Trump_August_19%2C_2015_%28cropped%29.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Donald_Trump_August_19%2C_2015_%28cropped%29.jpg/120px-Donald_Trump_August_19%2C_2015_%28cropped%29.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/d2/Donald_Trump_August_19%2C_2015_%28cropped%29.jpg/235px-Donald_Trump_August_19%2C_2015_%28cropped%29.jpg"
+ },
+ "normalizedtitle": "Donald Trump",
+ "description": "American business magnate, television
personality, author and politician",
+ "revid": 724184974
+ }, {
+ "views": 60341,
+ "rank": 32,
+ "title": "Children's_Day",
+ "pageid": 494299,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Wikipedia_Children%27s_Day.png/60px-Wikipedia_Children%27s_Day.png",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Wikipedia_Children%27s_Day.png/120px-Wikipedia_Children%27s_Day.png",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/Wikipedia_Children%27s_Day.png/320px-Wikipedia_Children%27s_Day.png"
+ },
+ "normalizedtitle": "Children's Day",
+ "description": "day to honor children globally",
+ "revid": 724017404
+ }, {
+ "views": 58134,
+ "rank": 35,
+ "title": "Louis_XIV_of_France",
+ "pageid": 18553,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Louis_XIV_of_France.jpg/60px-Louis_XIV_of_France.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Louis_XIV_of_France.jpg/120px-Louis_XIV_of_France.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/5f/Louis_XIV_of_France.jpg/225px-Louis_XIV_of_France.jpg"
+ },
+ "normalizedtitle": "Louis XIV of France",
+ "description": "King of France and Navarra, from 1643 to 1715",
+ "revid": 723951853
+ }, {
+ "views": 56939,
+ "rank": 36,
+ "title": "X-Men_(film_series)",
+ "pageid": 11891433,
+ "normalizedtitle": "X-Men (film series)",
+ "description": "film series",
+ "revid": 724119564
+ }, {
+ "views": 55852,
+ "rank": 37,
+ "title": "Michael_Jace",
+ "pageid": 4238332,
+ "normalizedtitle": "Michael Jace",
+ "description": "American actor",
+ "revid": 723735020
+ }, {
+ "views": 54683,
+ "rank": 38,
+ "title": "List_of_Bollywood_films_of_2016",
+ "pageid": 44953417,
+ "normalizedtitle": "List of Bollywood films of 2016",
+ "description": "Wikimedia list article",
+ "revid": 724127521
+ }, {
+ "views": 54645,
+ "rank": 39,
+ "title": "List_of_Person_of_Interest_episodes",
+ "pageid": 32796719,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Person_of_Interest_logo.svg/60px-Person_of_Interest_logo.svg.png",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Person_of_Interest_logo.svg/120px-Person_of_Interest_logo.svg.png",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Person_of_Interest_logo.svg/320px-Person_of_Interest_logo.svg.png"
+ },
+ "normalizedtitle": "List of Person of Interest episodes",
+ "description": "Wikimedia list article",
+ "revid": 724194257
+ }, {
+ "views": 53441,
+ "rank": 40,
+ "title": "Stoner_(novel)",
+ "pageid": 21337639,
+ "normalizedtitle": "Stoner (novel)",
+ "description": "1965 novel by the American writer John
Williams",
+ "revid": 724135033
+ }, {
+ "views": 52457,
+ "rank": 41,
+ "title": "Warcraft_(film)",
+ "pageid": 39701440,
+ "normalizedtitle": "Warcraft (film)",
+ "description": "2016 film",
+ "revid": 724199844
+ }, {
+ "views": 51324,
+ "rank": 42,
+ "title": "Rosenhan_experiment",
+ "pageid": 449532,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Center_building_at_Saint_Elizabeths%2C_August_23%2C_2006.jpg/60px-Center_building_at_Saint_Elizabeths%2C_August_23%2C_2006.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Center_building_at_Saint_Elizabeths%2C_August_23%2C_2006.jpg/120px-Center_building_at_Saint_Elizabeths%2C_August_23%2C_2006.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Center_building_at_Saint_Elizabeths%2C_August_23%2C_2006.jpg/320px-Center_building_at_Saint_Elizabeths%2C_August_23%2C_2006.jpg"
+ },
+ "normalizedtitle": "Rosenhan experiment",
+ "description": "psychological experiment",
+ "revid": 724062952
+ }, {
+ "views": 51299,
+ "rank": 43,
+ "title": "Emilia_Clarke",
+ "pageid": 30175038,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Emilia_Clarke_by_Gage_Skidmore_2.jpg/60px-Emilia_Clarke_by_Gage_Skidmore_2.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Emilia_Clarke_by_Gage_Skidmore_2.jpg/120px-Emilia_Clarke_by_Gage_Skidmore_2.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Emilia_Clarke_by_Gage_Skidmore_2.jpg/260px-Emilia_Clarke_by_Gage_Skidmore_2.jpg"
+ },
+ "normalizedtitle": "Emilia Clarke",
+ "description": "English actress",
+ "revid": 724105467
+ }, {
+ "views": 50895,
+ "rank": 44,
+ "title": "Elizabeth_Holmes",
+ "pageid": 43573275,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Elizabeth_Holmes_2014_%28cropped%29.jpg/60px-Elizabeth_Holmes_2014_%28cropped%29.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Elizabeth_Holmes_2014_%28cropped%29.jpg/120px-Elizabeth_Holmes_2014_%28cropped%29.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Elizabeth_Holmes_2014_%28cropped%29.jpg/277px-Elizabeth_Holmes_2014_%28cropped%29.jpg"
+ },
+ "normalizedtitle": "Elizabeth Holmes",
+ "description": "American business executive",
+ "revid": 723952023
+ }, {
+ "views": 50728,
+ "rank": 46,
+ "title": "Stephen_Hawking",
+ "pageid": 19376148,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Stephen_Hawking.StarChild.jpg/60px-Stephen_Hawking.StarChild.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Stephen_Hawking.StarChild.jpg/120px-Stephen_Hawking.StarChild.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Stephen_Hawking.StarChild.jpg/223px-Stephen_Hawking.StarChild.jpg"
+ },
+ "normalizedtitle": "Stephen Hawking",
+ "description": "British theoretical physicist, cosmologist, and
author",
+ "revid": 723279616
+ }, {
+ "views": 50408,
+ "rank": 48,
+ "title": "Harry_Potter_and_the_Cursed_Child",
+ "pageid": 47083555,
+ "normalizedtitle": "Harry Potter and the Cursed Child",
+ "revid": 723686885
+ }, {
+ "views": 49764,
+ "rank": 49,
+ "title": "Female_genital_mutilation",
+ "pageid": 11408,
+ "thumbnail": {
+ "60":
"http://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Campaign_road_sign_against_female_genital_mutilation_%28cropped%29_2.jpg/60px-Campaign_road_sign_against_female_genital_mutilation_%28cropped%29_2.jpg",
+ "120":
"http://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Campaign_road_sign_against_female_genital_mutilation_%28cropped%29_2.jpg/120px-Campaign_road_sign_against_female_genital_mutilation_%28cropped%29_2.jpg",
+ "320":
"http://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Campaign_road_sign_against_female_genital_mutilation_%28cropped%29_2.jpg/320px-Campaign_road_sign_against_female_genital_mutilation_%28cropped%29_2.jpg"
+ },
+ "normalizedtitle": "Female genital mutilation",
+ "description": "controversial cultural ritual",
+ "revid": 722859562
+ }, {
+ "views": 49670,
+ "rank": 50,
+ "title": "June_1",
+ "pageid": 15856,
+ "normalizedtitle": "June 1",
+ "description": "date",
+ "revid": 723445693
+ }]
+}
\ No newline at end of file
diff --git a/app/src/test/res/raw/most_read_no_articles.json
b/app/src/test/res/raw/most_read_no_articles.json
new file mode 100644
index 0000000..9ca3c75
--- /dev/null
+++ b/app/src/test/res/raw/most_read_no_articles.json
@@ -0,0 +1,3 @@
+{
+ "date": "2016-06-01Z"
+}
\ No newline at end of file
--
To view, visit https://gerrit.wikimedia.org/r/293179
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9771f06ea563c66cbc6d03c030d8c48f15721fa4
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits