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