package com.andrewshu.android.reddit.test;
import java.lang.reflect.Array;
import java.util.Arrays;
import com.andrewshu.android.reddit.Constants;
import com.andrewshu.android.reddit.Util;
import com.andrewshu.android.reddit.R;
import junit.framework.TestCase;
public class RedditIsFunUtilTest extends TestCase {
public void testIsLightTheme()
{
boolean result = Util.isLightTheme(R.style.Reddit_Light_Medium) &&
Util.isLightTheme(R.style.Reddit_Light_Large) &&
Util.isLightTheme(R.style.Reddit_Light_Larger) &&
Util.isLightTheme(R.style.Reddit_Light_Huge);
assertTrue(result);
}
public void testIsDarkTheme()
{
boolean result = Util.isDarkTheme(R.style.Reddit_Dark_Medium) &&
Util.isDarkTheme(R.style.Reddit_Dark_Large) &&
Util.isDarkTheme(R.style.Reddit_Dark_Larger) &&
Util.isDarkTheme(R.style.Reddit_Dark_Huge);
assertTrue(result);
}
public void testGetInvertedTheme()
{
assertEquals("GetInvertedTheme From Dark to Light Failed", R.style.Reddit_Dark_Huge, Util.getInvertedTheme(R.style.Reddit_Light_Huge));
assertEquals("GetInvertedTheme From Light to Dark Failed", R.style.Reddit_Light_Huge, Util.getInvertedTheme(R.style.Reddit_Dark_Huge));
}
public void testGetThemeResourceFromPrefs()
{
assertEquals("GetThemeResourceFromPrefs for Dark Theme Failed", R.style.Reddit_Dark_Huge, Util.getThemeResourceFromPrefs(Constants.PREF_THEME_DARK, Constants.PREF_TEXT_SIZE_HUGE));
assertEquals("GetThemeResourceFromPrefs for Light Theme Failed", R.style.Reddit_Light_Huge, Util.getThemeResourceFromPrefs(Constants.PREF_THEME_LIGHT, Constants.PREF_TEXT_SIZE_HUGE));
}
public void testGetPrefsFromThemeResource()
{
boolean blnResultForDarkTheme;
boolean blnResultForLightTheme;
String [] astrDarkHugePrefs = new String[] { Constants.PREF_THEME_DARK, Constants.PREF_TEXT_SIZE_HUGE };
String [] astrLightHugePrefs = new String[] { Constants.PREF_THEME_LIGHT, Constants.PREF_TEXT_SIZE_HUGE };
blnResultForDarkTheme = Arrays.equals(astrDarkHugePrefs, Util.getPrefsFromThemeResource(R.style.Reddit_Dark_Huge));
blnResultForLightTheme = Arrays.equals(astrLightHugePrefs, Util.getPrefsFromThemeResource(R.style.Reddit_Light_Huge));
assertTrue(blnResultForDarkTheme && blnResultForLightTheme);
}
public void testGetTextAppearanceResource()
{
assertEquals("GetTextAppearanceResource for Dark Theme Small Text Failed", R.style.TextAppearance_Huge_Small, Util.getTextAppearanceResource(R.style.Reddit_Dark_Huge, android.R.style.TextAppearance_Small));
assertEquals("GetTextAppearanceResource for Dark Theme Medium Text Failed", R.style.TextAppearance_Huge_Medium, Util.getTextAppearanceResource(R.style.Reddit_Dark_Huge, android.R.style.TextAppearance_Medium));
assertEquals("GetTextAppearanceResource for Dark Theme Large Text Failed", R.style.TextAppearance_Huge_Large, Util.getTextAppearanceResource(R.style.Reddit_Dark_Huge, android.R.style.TextAppearance_Large));
assertEquals("GetTextAppearanceResource for Light Theme Small Text Failed", R.style.TextAppearance_Huge_Small, Util.getTextAppearanceResource(R.style.Reddit_Light_Huge, android.R.style.TextAppearance_Small));
assertEquals("GetTextAppearanceResource for Light Theme Medium Text Failed", R.style.TextAppearance_Huge_Medium, Util.getTextAppearanceResource(R.style.Reddit_Light_Huge, android.R.style.TextAppearance_Medium));
assertEquals("GetTextAppearanceResource for Light Theme Large Text Failed", R.style.TextAppearance_Huge_Large, Util.getTextAppearanceResource(R.style.Reddit_Light_Huge, android.R.style.TextAppearance_Large));
}
}