package org.liberty.android.fantastischmemo.test.db; import android.graphics.Color; import android.support.test.filters.SmallTest; import org.junit.Test; import org.liberty.android.fantastischmemo.dao.SettingDao; import org.liberty.android.fantastischmemo.entity.Setting; import org.liberty.android.fantastischmemo.test.AbstractExistingDBTest; import java.sql.SQLException; import java.util.EnumSet; import static org.junit.Assert.assertEquals; public class SettingTest extends AbstractExistingDBTest { @SmallTest @Test public void testQuestionFontSize() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionFontSize(50); Setting savedSetting = setSetting(setting); assertEquals(50, (int)savedSetting.getQuestionFontSize()); } @SmallTest @Test public void testAnswerFontSize() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerFontSize(60); Setting savedSetting = setSetting(setting); assertEquals(60, (int)savedSetting.getAnswerFontSize()); } @SmallTest @Test public void testQuestionTextAlign() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionTextAlign(Setting.Align.RIGHT); Setting savedSetting = setSetting(setting); assertEquals(Setting.Align.RIGHT, savedSetting.getQuestionTextAlign()); } @SmallTest @Test public void testAnswerTextAlign() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerTextAlign(Setting.Align.CENTER_LEFT); Setting savedSetting = setSetting(setting); assertEquals(Setting.Align.CENTER_LEFT, savedSetting.getAnswerTextAlign()); } @SmallTest @Test public void testCardStyle() throws Exception { Setting setting = getCurrentSetting(); setting.setCardStyle(Setting.CardStyle.DOUBLE_SIDED); Setting savedSetting = setSetting(setting); assertEquals(Setting.CardStyle.DOUBLE_SIDED, savedSetting.getCardStyle()); } @SmallTest @Test public void testQARatio() throws Exception { Setting setting = getCurrentSetting(); setting.setQaRatio(70); Setting savedSetting = setSetting(setting); assertEquals(70, (int)savedSetting.getQaRatio()); } @SmallTest @Test public void testQuestionAudio() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionAudio("DE"); Setting savedSetting = setSetting(setting); assertEquals("DE", savedSetting.getQuestionAudio()); } @SmallTest @Test public void testAnswerAudio() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerAudio("DE"); Setting savedSetting = setSetting(setting); assertEquals("DE", savedSetting.getAnswerAudio()); } @SmallTest @Test public void testQuestionTextColor() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionTextColor(Color.RED); Setting savedSetting = setSetting(setting); assertEquals(Color.RED, (int)savedSetting.getQuestionTextColor()); } @SmallTest @Test public void testAnswerTextColor() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerTextColor(Color.RED); Setting savedSetting = setSetting(setting); assertEquals(Color.RED, (int)savedSetting.getAnswerTextColor()); } @SmallTest @Test public void testQuestionBackgroundColor() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionBackgroundColor(Color.RED); Setting savedSetting = setSetting(setting); assertEquals(Color.RED, (int)savedSetting.getQuestionBackgroundColor()); } @SmallTest @Test public void testAnswerBackgroundColor() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerBackgroundColor(Color.RED); Setting savedSetting = setSetting(setting); assertEquals(Color.RED, (int)savedSetting.getAnswerBackgroundColor()); } @SmallTest @Test public void testSeparatorColor() throws Exception { Setting setting = getCurrentSetting(); setting.setSeparatorColor(Color.RED); Setting savedSetting = setSetting(setting); assertEquals(Color.RED, (int)savedSetting.getSeparatorColor()); } @SmallTest @Test public void testDisplayInHTML() throws Exception { Setting setting = getCurrentSetting(); setting.setDisplayInHTMLEnum(EnumSet.of(Setting.CardField.NOTE, Setting.CardField.ANSWER)); Setting savedSetting = setSetting(setting); assertEquals(EnumSet.of(Setting.CardField.NOTE, Setting.CardField.ANSWER), savedSetting.getDisplayInHTMLEnum()); } @SmallTest @Test public void testQuestionField() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionFieldEnum(EnumSet.of(Setting.CardField.NOTE, Setting.CardField.ANSWER)); Setting savedSetting = setSetting(setting); assertEquals(EnumSet.of(Setting.CardField.NOTE, Setting.CardField.ANSWER), savedSetting.getQuestionFieldEnum()); } @SmallTest @Test public void testAnswerField() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerFieldEnum(EnumSet.of(Setting.CardField.NOTE, Setting.CardField.ANSWER)); Setting savedSetting = setSetting(setting); assertEquals(EnumSet.of(Setting.CardField.NOTE, Setting.CardField.ANSWER), savedSetting.getAnswerFieldEnum()); } @SmallTest @Test public void testQuestionFont() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionFont("/sdcard/font1.ttf"); Setting savedSetting = setSetting(setting); assertEquals("/sdcard/font1.ttf", savedSetting.getQuestionFont()); } @SmallTest @Test public void testAnswerFont() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerFont("/sdcard/font1.ttf"); Setting savedSetting = setSetting(setting); assertEquals("/sdcard/font1.ttf", savedSetting.getAnswerFont()); } @SmallTest @Test public void testQuestionAudioLocation() throws Exception { Setting setting = getCurrentSetting(); setting.setQuestionAudioLocation("/sdcard/"); Setting savedSetting = setSetting(setting); assertEquals("/sdcard/", savedSetting.getQuestionAudioLocation()); } @SmallTest @Test public void testAnswerAudioLocation() throws Exception { Setting setting = getCurrentSetting(); setting.setAnswerAudioLocation("/sdcard/"); Setting savedSetting = setSetting(setting); assertEquals("/sdcard/", savedSetting.getAnswerAudioLocation()); } private Setting getCurrentSetting() throws SQLException { SettingDao settingDao = helper.getSettingDao(); return settingDao.queryForId(1); } // Return the saved setting. private Setting setSetting(Setting setting) throws SQLException { SettingDao settingDao = helper.getSettingDao(); settingDao.update(setting); return settingDao.queryForId(1); } }