Search in sources :

Example 6 with Card

use of org.liberty.android.fantastischmemo.entity.Card in project AnyMemo by helloworld1.

the class CardDaoTest method testGetCardsByCategory.

@SmallTest
@Test
public void testGetCardsByCategory() throws Exception {
    CardDao cardDao = helper.getCardDao();
    CategoryDao categoryDao = helper.getCategoryDao();
    setupThreeCategories();
    Category filterCategory1 = categoryDao.createOrReturn("My category");
    // If category specified is null, return all cards up to limit
    List<Card> cards1 = cardDao.getCardsByCategory(null, false, 50);
    assertEquals(28, cards1.size());
    // No category specified but with limit
    List<Card> cards2 = cardDao.getCardsByCategory(null, false, 10);
    assertEquals(10, cards2.size());
    // Get by category
    List<Card> cards3 = cardDao.getCardsByCategory(filterCategory1, false, 50);
    assertEquals(3, cards3.size());
    // Get by category with limit
    List<Card> cards4 = cardDao.getCardsByCategory(filterCategory1, false, 2);
    assertEquals(2, cards4.size());
    // Random cards shouldn't affect number of cards to get
    List<Card> cards5 = cardDao.getCardsByCategory(filterCategory1, true, 50);
    assertEquals(3, cards5.size());
}
Also used : Category(org.liberty.android.fantastischmemo.entity.Category) CategoryDao(org.liberty.android.fantastischmemo.dao.CategoryDao) CardDao(org.liberty.android.fantastischmemo.dao.CardDao) Card(org.liberty.android.fantastischmemo.entity.Card) Test(org.junit.Test) SmallTest(android.support.test.filters.SmallTest) AbstractExistingDBTest(org.liberty.android.fantastischmemo.test.AbstractExistingDBTest) SmallTest(android.support.test.filters.SmallTest)

Example 7 with Card

use of org.liberty.android.fantastischmemo.entity.Card in project AnyMemo by helloworld1.

the class CardDaoTest method testGetCardsByOrdinalAndSize.

@SmallTest
@Test
public void testGetCardsByOrdinalAndSize() throws Exception {
    CardDao cardDao = helper.getCardDao();
    // Card ordianl 1 to 10
    List<Card> cards1 = cardDao.getCardsByOrdinalAndSize(1, 10);
    assertEquals(10, (int) cards1.size());
    assertEquals(1, (int) cards1.get(0).getOrdinal());
    assertEquals(10, (int) cards1.get(9).getOrdinal());
    // Card orgdinal 20 to 28
    List<Card> cards2 = cardDao.getCardsByOrdinalAndSize(20, 10);
    assertEquals(9, (int) cards2.size());
    assertEquals(20, (int) cards2.get(0).getOrdinal());
    assertEquals(28, (int) cards2.get(8).getOrdinal());
    // Get nothing
    List<Card> cards3 = cardDao.getCardsByOrdinalAndSize(31, 10);
    assertEquals(9, (int) cards2.size());
    assertEquals(0, (int) cards3.size());
}
Also used : CardDao(org.liberty.android.fantastischmemo.dao.CardDao) Card(org.liberty.android.fantastischmemo.entity.Card) Test(org.junit.Test) SmallTest(android.support.test.filters.SmallTest) AbstractExistingDBTest(org.liberty.android.fantastischmemo.test.AbstractExistingDBTest) SmallTest(android.support.test.filters.SmallTest)

Example 8 with Card

use of org.liberty.android.fantastischmemo.entity.Card in project AnyMemo by helloworld1.

the class CardDaoTest method setupThreeCategories.

/*
     * Card with "My Category" in ID 2, 5, 8
     */
private void setupThreeCategories() throws SQLException {
    CardDao cardDao = helper.getCardDao();
    CategoryDao categoryDao = helper.getCategoryDao();
    Card c = cardDao.queryForId(2);
    Category ct = new Category();
    ct.setName("My category");
    categoryDao.create(ct);
    c.setCategory(ct);
    cardDao.update(c);
    c = cardDao.queryForId(5);
    c.setCategory(ct);
    cardDao.update(c);
    c = cardDao.queryForId(8);
    c.setCategory(ct);
    cardDao.update(c);
}
Also used : Category(org.liberty.android.fantastischmemo.entity.Category) CategoryDao(org.liberty.android.fantastischmemo.dao.CategoryDao) CardDao(org.liberty.android.fantastischmemo.dao.CardDao) Card(org.liberty.android.fantastischmemo.entity.Card)

Example 9 with Card

use of org.liberty.android.fantastischmemo.entity.Card in project AnyMemo by helloworld1.

the class CardDaoTest method testGetRandomReviewedCards.

@SmallTest
@Test
public void testGetRandomReviewedCards() throws Exception {
    CardDao cardDao = helper.getCardDao();
    List<Card> cards = cardDao.getRandomReviewedCards(null, 10);
    assertEquals(0, cards.size());
}
Also used : CardDao(org.liberty.android.fantastischmemo.dao.CardDao) Card(org.liberty.android.fantastischmemo.entity.Card) Test(org.junit.Test) SmallTest(android.support.test.filters.SmallTest) AbstractExistingDBTest(org.liberty.android.fantastischmemo.test.AbstractExistingDBTest) SmallTest(android.support.test.filters.SmallTest)

Example 10 with Card

use of org.liberty.android.fantastischmemo.entity.Card in project AnyMemo by helloworld1.

the class CardDaoTest method testCreateCardMaintainOrdinal.

@SmallTest
@Test
public void testCreateCardMaintainOrdinal() throws Exception {
    CardDao cardDao = helper.getCardDao();
    // Create card has null ordinal, append to the end
    Card nc = new Card();
    assertNull(nc.getOrdinal());
    cardDao.create(nc);
    assertEquals(29, (int) nc.getOrdinal());
    // Create card with an ordinal
    nc = new Card();
    nc.setOrdinal(14);
    cardDao.create(nc);
    Card c13 = cardDao.queryForId(13);
    Card c14 = cardDao.queryForId(14);
    Card c15 = cardDao.queryForId(15);
    assertEquals(13, (int) c13.getOrdinal());
    assertEquals(14, (int) nc.getOrdinal());
    assertEquals(15, (int) c14.getOrdinal());
    assertEquals(16, (int) c15.getOrdinal());
}
Also used : CardDao(org.liberty.android.fantastischmemo.dao.CardDao) Card(org.liberty.android.fantastischmemo.entity.Card) Test(org.junit.Test) SmallTest(android.support.test.filters.SmallTest) AbstractExistingDBTest(org.liberty.android.fantastischmemo.test.AbstractExistingDBTest) SmallTest(android.support.test.filters.SmallTest)

Aggregations

Card (org.liberty.android.fantastischmemo.entity.Card)95 CardDao (org.liberty.android.fantastischmemo.dao.CardDao)61 SmallTest (android.support.test.filters.SmallTest)43 Test (org.junit.Test)43 AbstractExistingDBTest (org.liberty.android.fantastischmemo.test.AbstractExistingDBTest)41 Category (org.liberty.android.fantastischmemo.entity.Category)30 AnyMemoDBOpenHelper (org.liberty.android.fantastischmemo.common.AnyMemoDBOpenHelper)28 LearningData (org.liberty.android.fantastischmemo.entity.LearningData)25 CategoryDao (org.liberty.android.fantastischmemo.dao.CategoryDao)20 LearningDataDao (org.liberty.android.fantastischmemo.dao.LearningDataDao)13 File (java.io.File)12 ArrayList (java.util.ArrayList)11 SQLException (java.sql.SQLException)9 QueueManager (org.liberty.android.fantastischmemo.queue.QueueManager)9 IOException (java.io.IOException)6 Date (java.util.Date)6 LearnQueueManager (org.liberty.android.fantastischmemo.queue.LearnQueueManager)6 URL (java.net.URL)5 FileWriter (java.io.FileWriter)4 Scheduler (org.liberty.android.fantastischmemo.scheduler.Scheduler)4