143ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang/* 243ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * Copyright (C) 2016 The Android Open Source Project 343ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * 443ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * Licensed under the Apache License, Version 2.0 (the "License"); 543ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * you may not use this file except in compliance with the License. 643ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * You may obtain a copy of the License at 743ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * 843ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * http://www.apache.org/licenses/LICENSE-2.0 943ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * 1043ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * Unless required by applicable law or agreed to in writing, software 1143ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * distributed under the License is distributed on an "AS IS" BASIS, 1243ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1343ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * See the License for the specific language governing permissions and 1443ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang * limitations under the License. 1543ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang */ 1643ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 1743ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangpackage com.android.settings.notification; 1843ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 1943ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport android.content.Context; 2043ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 2143ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport com.android.settings.R; 2243ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport com.android.settings.SettingsRobolectricTestRunner; 2343ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport com.android.settings.TestConfig; 2443ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 2543ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport org.junit.Before; 2643ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport org.junit.Test; 2743ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport org.junit.runner.RunWith; 2843ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport org.robolectric.RuntimeEnvironment; 2943ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport org.robolectric.annotation.Config; 3043ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 3143ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport static com.google.common.truth.Truth.assertThat; 3243ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport static org.mockito.Mockito.doReturn; 3343ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangimport static org.mockito.Mockito.spy; 3443ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 3543ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang@RunWith(SettingsRobolectricTestRunner.class) 3643ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) 3743ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhangpublic class ZenModeSettingsTest { 3843ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 394d8a9bd8794a5e50f7de7fbbc435b48db50f4a91Doris Ling private ZenModeSettings.SummaryBuilder mBuilder; 4043ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang private Context mContext; 4143ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 4243ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang @Before 4343ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang public void setUp() { 4443ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang mContext = RuntimeEnvironment.application.getApplicationContext(); 454d8a9bd8794a5e50f7de7fbbc435b48db50f4a91Doris Ling mBuilder = new ZenModeSettings.SummaryBuilder(mContext); 4643ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang } 4743ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 4843ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang @Test 4943ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang public void testAppend_conditionFalse_shouldNotAppend() { 5043ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang String original = "test"; 5143ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 524d8a9bd8794a5e50f7de7fbbc435b48db50f4a91Doris Ling final String result = mBuilder.append(original, false, R.string.zen_mode_alarms); 5343ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 5443ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang assertThat(result).isEqualTo(original); 5543ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang } 5643ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 5743ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang @Test 5843ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang public void testAppend_conditionTrue_shouldAppend() { 5943ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang String original = "test"; 6043ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang String alarm = mContext.getString(R.string.zen_mode_alarms); 6143ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 624d8a9bd8794a5e50f7de7fbbc435b48db50f4a91Doris Ling final String result = mBuilder.append(original, true, R.string.zen_mode_alarms); 6343ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 6443ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang assertThat(result).contains(alarm); 6543ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang } 6643ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang 6743ce3c0a5750b1b50c8953947833f4a1525bd779Fan Zhang} 68