Loading src/com/android/settings/homepage/contextualcards/CardDatabaseHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ public class CardDatabaseHelper extends SQLiteOpenHelper { final String selection = CardColumns.CARD_DISMISSED + "=0"; Cursor cursor = db.query(CARD_TABLE, null /* columns */, selection, null /* selectionArgs */, null /* groupBy */, null /* having */, null /* orderBy */); CardColumns.SCORE + " DESC" /* orderBy */); return cursor; } Loading tests/robotests/src/com/android/settings/homepage/contextualcards/CardDatabaseHelperTest.java +39 −0 Original line number Diff line number Diff line Loading @@ -18,10 +18,12 @@ package com.android.settings.homepage.contextualcards; import static com.google.common.truth.Truth.assertThat; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.android.settings.intelligence.ContextualCardProto; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.After; Loading @@ -30,6 +32,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) public class CardDatabaseHelperTest { Loading Loading @@ -80,4 +85,38 @@ public class CardDatabaseHelperTest { assertThat(columnNames).isEqualTo(expectedNames); cursor.close(); } @Test public void getContextualCards_shouldSortByScore() { insertFakeCard(mDatabase, "card1", 1, "uri1"); insertFakeCard(mDatabase, "card2", 0, "uri2"); insertFakeCard(mDatabase, "card3", 10, "uri3"); // Should sort as 3,1,2 try (final Cursor cursor = CardDatabaseHelper.getInstance(mContext).getContextualCards()) { assertThat(cursor.getCount()).isEqualTo(3); final List<ContextualCard> cards = new ArrayList<>(); for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { cards.add(new ContextualCard(cursor)); } assertThat(cards.get(0).getName()).isEqualTo("card3"); assertThat(cards.get(1).getName()).isEqualTo("card1"); assertThat(cards.get(2).getName()).isEqualTo("card2"); } } private static void insertFakeCard(SQLiteDatabase db, String name, double score, String uri) { final ContentValues value = new ContentValues(); value.put(CardDatabaseHelper.CardColumns.NAME, name); value.put(CardDatabaseHelper.CardColumns.SCORE, score); value.put(CardDatabaseHelper.CardColumns.SLICE_URI, uri); value.put(CardDatabaseHelper.CardColumns.TYPE, ContextualCard.CardType.SLICE); value.put(CardDatabaseHelper.CardColumns.CATEGORY, ContextualCardProto.ContextualCard.Category.DEFAULT.getNumber()); value.put(CardDatabaseHelper.CardColumns.PACKAGE_NAME, RuntimeEnvironment.application.getPackageName()); value.put(CardDatabaseHelper.CardColumns.APP_VERSION, 1); db.insert(CardDatabaseHelper.CARD_TABLE, null, value); } } Loading
src/com/android/settings/homepage/contextualcards/CardDatabaseHelper.java +1 −1 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ public class CardDatabaseHelper extends SQLiteOpenHelper { final String selection = CardColumns.CARD_DISMISSED + "=0"; Cursor cursor = db.query(CARD_TABLE, null /* columns */, selection, null /* selectionArgs */, null /* groupBy */, null /* having */, null /* orderBy */); CardColumns.SCORE + " DESC" /* orderBy */); return cursor; } Loading
tests/robotests/src/com/android/settings/homepage/contextualcards/CardDatabaseHelperTest.java +39 −0 Original line number Diff line number Diff line Loading @@ -18,10 +18,12 @@ package com.android.settings.homepage.contextualcards; import static com.google.common.truth.Truth.assertThat; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import com.android.settings.intelligence.ContextualCardProto; import com.android.settings.testutils.SettingsRobolectricTestRunner; import org.junit.After; Loading @@ -30,6 +32,9 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RuntimeEnvironment; import java.util.ArrayList; import java.util.List; @RunWith(SettingsRobolectricTestRunner.class) public class CardDatabaseHelperTest { Loading Loading @@ -80,4 +85,38 @@ public class CardDatabaseHelperTest { assertThat(columnNames).isEqualTo(expectedNames); cursor.close(); } @Test public void getContextualCards_shouldSortByScore() { insertFakeCard(mDatabase, "card1", 1, "uri1"); insertFakeCard(mDatabase, "card2", 0, "uri2"); insertFakeCard(mDatabase, "card3", 10, "uri3"); // Should sort as 3,1,2 try (final Cursor cursor = CardDatabaseHelper.getInstance(mContext).getContextualCards()) { assertThat(cursor.getCount()).isEqualTo(3); final List<ContextualCard> cards = new ArrayList<>(); for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { cards.add(new ContextualCard(cursor)); } assertThat(cards.get(0).getName()).isEqualTo("card3"); assertThat(cards.get(1).getName()).isEqualTo("card1"); assertThat(cards.get(2).getName()).isEqualTo("card2"); } } private static void insertFakeCard(SQLiteDatabase db, String name, double score, String uri) { final ContentValues value = new ContentValues(); value.put(CardDatabaseHelper.CardColumns.NAME, name); value.put(CardDatabaseHelper.CardColumns.SCORE, score); value.put(CardDatabaseHelper.CardColumns.SLICE_URI, uri); value.put(CardDatabaseHelper.CardColumns.TYPE, ContextualCard.CardType.SLICE); value.put(CardDatabaseHelper.CardColumns.CATEGORY, ContextualCardProto.ContextualCard.Category.DEFAULT.getNumber()); value.put(CardDatabaseHelper.CardColumns.PACKAGE_NAME, RuntimeEnvironment.application.getPackageName()); value.put(CardDatabaseHelper.CardColumns.APP_VERSION, 1); db.insert(CardDatabaseHelper.CARD_TABLE, null, value); } }