From 3916ed759c3e18dd7bcf658406c045a54e0fbd5c Mon Sep 17 00:00:00 2001 From: Adnan Begovic Date: Tue, 29 Mar 2016 17:37:15 -0700 Subject: cmsdk: Add test coverage for ThemeChangeRequestBuilder and object. Change-Id: I24894d50c6e28939e5f5c3497e0279dbb45ca851 TICKET: CYNGNOS-2307 --- .../themes/unit/ThemeChangeRequestBuilderTest.java | 304 +++++++++++++++++++++ 1 file changed, 304 insertions(+) create mode 100644 tests/src/org/cyanogenmod/tests/themes/unit/ThemeChangeRequestBuilderTest.java (limited to 'tests') diff --git a/tests/src/org/cyanogenmod/tests/themes/unit/ThemeChangeRequestBuilderTest.java b/tests/src/org/cyanogenmod/tests/themes/unit/ThemeChangeRequestBuilderTest.java new file mode 100644 index 0000000..ce796d2 --- /dev/null +++ b/tests/src/org/cyanogenmod/tests/themes/unit/ThemeChangeRequestBuilderTest.java @@ -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 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 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 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 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 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()); + } +} -- cgit v1.1