cmsdk: Add test coverage for ThemeChangeRequestBuilder and object.

Change-Id: I24894d50c6e28939e5f5c3497e0279dbb45ca851
TICKET: CYNGNOS-2307
This commit is contained in:
Adnan Begovic 2016-03-29 17:37:15 -07:00
parent 127c0cf8fe
commit 3916ed759c
1 changed files with 304 additions and 0 deletions

View File

@ -0,0 +1,304 @@
/**
* Copyright (C) 2016 The CyanogenMod Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.cyanogenmod.tests.themes.unit;
import android.content.res.ThemeConfig;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
import cyanogenmod.themes.ThemeChangeRequest;
import java.util.HashMap;
import java.util.Map;
/**
* Exercise both the ThemeChangeRequest object and the builder.
*/
public class ThemeChangeRequestBuilderTest extends AndroidTestCase {
@SmallTest
public void testConstructor() {
ThemeChangeRequest themeChangeRequest = new ThemeChangeRequest.Builder().build();
assertNotNull(themeChangeRequest);
}
@SmallTest
public void testThemeConfigConstructor() {
Map<String, ThemeConfig.AppTheme> dummyMap = new HashMap<>();
ThemeConfig config = new ThemeConfig(dummyMap);
ThemeChangeRequest themeChangeRequest = new ThemeChangeRequest.Builder(config).build();
assertNotNull(themeChangeRequest);
}
@SmallTest
public void testGetAlarmThemePackageName() {
String expectedAlarmPackage = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setAlarm(expectedAlarmPackage)
.build();
assertNotNull(request);
assertEquals(expectedAlarmPackage, request.getAlarmThemePackageName());
}
@SmallTest
public void testGetBootanimationThemePackageName() {
String expectedBootAnimationThemePackageName = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setBootanimation(expectedBootAnimationThemePackageName)
.build();
assertNotNull(request);
assertEquals(expectedBootAnimationThemePackageName,
request.getBootanimationThemePackageName());
}
@SmallTest
public void testGetFontThemePackageName() {
String expectedFontThemePackageName = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setFont(expectedFontThemePackageName)
.build();
assertNotNull(request);
assertEquals(expectedFontThemePackageName,
request.getFontThemePackageName());
}
@SmallTest
public void testGetIconsThemePackageName() {
String expectedIconThemePackageName = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setIcons(expectedIconThemePackageName)
.build();
assertNotNull(request);
assertEquals(expectedIconThemePackageName,
request.getIconsThemePackageName());
}
@SmallTest
public void testGetLiveLockScreenThemePackageName() {
String expectedLiveLockscreenThemePN = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setLiveLockScreen(expectedLiveLockscreenThemePN)
.build();
assertNotNull(request);
assertEquals(expectedLiveLockscreenThemePN,
request.getLiveLockScreenThemePackageName());
}
@SmallTest
public void testGetLockWallpaperThemePackageName() {
String expectedLockWallpaperThemePN = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setLockWallpaper(expectedLockWallpaperThemePN)
.build();
assertNotNull(request);
assertEquals(expectedLockWallpaperThemePN,
request.getLockWallpaperThemePackageName());
}
@SmallTest
public void testGetNavBarThemePackageName() {
String expectedNavBarThemePackageName = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setNavBar(expectedNavBarThemePackageName)
.build();
assertNotNull(request);
assertEquals(expectedNavBarThemePackageName,
request.getNavBarThemePackageName());
}
@SmallTest
public void testGetNotificationThemePackageName() {
String expectedNotificationThemePackageName = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setNotification(expectedNotificationThemePackageName)
.build();
assertNotNull(request);
assertEquals(expectedNotificationThemePackageName,
request.getNotificationThemePackageName());
}
@SmallTest
public void testGetNumChangesRequested() {
int expectedNumChangesRequested = 5;
String dummyData = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setAlarm(dummyData)
.setNavBar(dummyData)
.setBootanimation(dummyData)
.setLockWallpaper(dummyData)
.setLiveLockScreen(dummyData)
.build();
assertNotNull(request);
assertEquals(expectedNumChangesRequested,
request.getNumChangesRequested());
}
@SmallTest
public void testGetOverlayThemePackageName() {
String expectedOverlayPN = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setOverlay(expectedOverlayPN)
.build();
assertNotNull(request);
assertEquals(expectedOverlayPN,
request.getOverlayThemePackageName());
}
@SmallTest
public void testGetPerAppOverlays() {
Map<String, String> expectedAppOverlayMap = new HashMap<>();
String appkey1 = "app1";
String appkey2 = "app2";
String appkey3 = "app3";
String appvalue1 = "dummy1";
String appvalue2 = "dummy2";
String appvalue3 = "dummy3";
expectedAppOverlayMap.put(appkey1, appvalue1);
expectedAppOverlayMap.put(appkey2, appvalue2);
expectedAppOverlayMap.put(appkey3, appvalue3);
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setAppOverlay(appkey1, appvalue1)
.setAppOverlay(appkey2, appvalue2)
.setAppOverlay(appkey3, appvalue3)
.build();
assertNotNull(request);
Map<String, String> actualAppOverlayMap = request.getPerAppOverlays();
for (String key : actualAppOverlayMap.keySet()) {
assertNotNull(expectedAppOverlayMap.get(key));
assertEquals(expectedAppOverlayMap.get(key), actualAppOverlayMap.get(key));
}
}
@SmallTest
public void testGetReqeustType() {
ThemeChangeRequest.RequestType expectedRequestType =
ThemeChangeRequest.RequestType.USER_REQUEST;
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setRequestType(expectedRequestType)
.build();
assertNotNull(request);
assertEquals(expectedRequestType,
request.getReqeustType());
}
@SmallTest
public void testGetRingtoneThemePackageName() {
String expectedRingtoneThemePN = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setRingtone(expectedRingtoneThemePN)
.build();
assertNotNull(request);
assertEquals(expectedRingtoneThemePN,
request.getRingtoneThemePackageName());
}
@SmallTest
public void testGetStatusBarThemePackageName() {
String expectedStatusBarThemePN = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setStatusBar(expectedStatusBarThemePN)
.build();
assertNotNull(request);
assertEquals(expectedStatusBarThemePN,
request.getStatusBarThemePackageName());
}
@SmallTest
public void testGetThemeComponentsMap() {
Map<String, String> expectedAppOverlayMap = new HashMap<>();
String appkey1 = "app1";
String appkey2 = "app2";
String appkey3 = "app3";
String appvalue1 = "dummy1";
String appvalue2 = "dummy2";
String appvalue3 = "dummy3";
expectedAppOverlayMap.put(appkey1, appvalue1);
expectedAppOverlayMap.put(appkey2, appvalue2);
expectedAppOverlayMap.put(appkey3, appvalue3);
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setComponent(appkey1, appvalue1)
.setComponent(appkey2, appvalue2)
.setComponent(appkey3, appvalue3)
.build();
assertNotNull(request);
Map<String, String> actualAppOverlayMap = request.getThemeComponentsMap();
for (String key : actualAppOverlayMap.keySet()) {
assertNotNull(expectedAppOverlayMap.get(key));
assertEquals(expectedAppOverlayMap.get(key), actualAppOverlayMap.get(key));
}
}
@SmallTest
public void testGetWallpaperId() {
long expectedWallpaperId = 123971231L;
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setWallpaperId(expectedWallpaperId)
.build();
assertNotNull(request);
assertEquals(expectedWallpaperId,
request.getWallpaperId());
}
@SmallTest
public void testGetWallpaperThemePackageName() {
String expectedWallpaperThemePN = "dummy";
ThemeChangeRequest request = new ThemeChangeRequest.Builder()
.setWallpaper(expectedWallpaperThemePN)
.build();
assertNotNull(request);
assertEquals(expectedWallpaperThemePN,
request.getWallpaperThemePackageName());
}
}