155a97a9ad44407250e68a2805d89606768160922jackqdyulei/*
255a97a9ad44407250e68a2805d89606768160922jackqdyulei * Copyright (C) 2017 The Android Open Source Project
355a97a9ad44407250e68a2805d89606768160922jackqdyulei *
455a97a9ad44407250e68a2805d89606768160922jackqdyulei * Licensed under the Apache License, Version 2.0 (the "License");
555a97a9ad44407250e68a2805d89606768160922jackqdyulei * you may not use this file except in compliance with the License.
655a97a9ad44407250e68a2805d89606768160922jackqdyulei * You may obtain a copy of the License at
755a97a9ad44407250e68a2805d89606768160922jackqdyulei *
855a97a9ad44407250e68a2805d89606768160922jackqdyulei *      http://www.apache.org/licenses/LICENSE-2.0
955a97a9ad44407250e68a2805d89606768160922jackqdyulei *
1055a97a9ad44407250e68a2805d89606768160922jackqdyulei * Unless required by applicable law or agreed to in writing, software
1155a97a9ad44407250e68a2805d89606768160922jackqdyulei * distributed under the License is distributed on an "AS IS" BASIS,
1255a97a9ad44407250e68a2805d89606768160922jackqdyulei * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1355a97a9ad44407250e68a2805d89606768160922jackqdyulei * See the License for the specific language governing permissions and
1455a97a9ad44407250e68a2805d89606768160922jackqdyulei * limitations under the License.
1555a97a9ad44407250e68a2805d89606768160922jackqdyulei */
1655a97a9ad44407250e68a2805d89606768160922jackqdyulei
1755a97a9ad44407250e68a2805d89606768160922jackqdyuleipackage com.android.settings.fuelgauge.anomaly;
1855a97a9ad44407250e68a2805d89606768160922jackqdyulei
1955a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport static com.google.common.truth.Truth.assertThat;
2055a97a9ad44407250e68a2805d89606768160922jackqdyulei
2155a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport android.content.Context;
2255a97a9ad44407250e68a2805d89606768160922jackqdyulei
239f1e911759dc6fedaac9fa65afb79f6a93022bf4Andrew Sappersteinimport com.android.settings.testutils.SettingsRobolectricTestRunner;
2455a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport com.android.settings.TestConfig;
2555a97a9ad44407250e68a2805d89606768160922jackqdyulei
2655a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport org.junit.Before;
2755a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport org.junit.Test;
2855a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport org.junit.runner.RunWith;
2955a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport org.mockito.MockitoAnnotations;
3055a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport org.robolectric.RuntimeEnvironment;
3155a97a9ad44407250e68a2805d89606768160922jackqdyuleiimport org.robolectric.annotation.Config;
3255a97a9ad44407250e68a2805d89606768160922jackqdyulei
3355a97a9ad44407250e68a2805d89606768160922jackqdyulei@RunWith(SettingsRobolectricTestRunner.class)
3455a97a9ad44407250e68a2805d89606768160922jackqdyulei@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
3555a97a9ad44407250e68a2805d89606768160922jackqdyuleipublic class AnomalyPreferenceTest {
3655a97a9ad44407250e68a2805d89606768160922jackqdyulei    @Anomaly.AnomalyType
3755a97a9ad44407250e68a2805d89606768160922jackqdyulei    private static final int ANOMALY_TYPE = Anomaly.AnomalyType.WAKE_LOCK;
3855a97a9ad44407250e68a2805d89606768160922jackqdyulei    private static final String PACKAGE_NAME = "com.android.app";
3955a97a9ad44407250e68a2805d89606768160922jackqdyulei    private static final String DISPLAY_NAME = "app";
4055a97a9ad44407250e68a2805d89606768160922jackqdyulei    private static final int UID = 111;
4155a97a9ad44407250e68a2805d89606768160922jackqdyulei
4255a97a9ad44407250e68a2805d89606768160922jackqdyulei    private Context mContext;
4355a97a9ad44407250e68a2805d89606768160922jackqdyulei    private Anomaly mAnomaly;
4455a97a9ad44407250e68a2805d89606768160922jackqdyulei    private AnomalyPreference mAnomalyPreference;
4555a97a9ad44407250e68a2805d89606768160922jackqdyulei
4655a97a9ad44407250e68a2805d89606768160922jackqdyulei    @Before
4755a97a9ad44407250e68a2805d89606768160922jackqdyulei    public void setUp() {
4855a97a9ad44407250e68a2805d89606768160922jackqdyulei        MockitoAnnotations.initMocks(this);
4955a97a9ad44407250e68a2805d89606768160922jackqdyulei
5055a97a9ad44407250e68a2805d89606768160922jackqdyulei        mContext = RuntimeEnvironment.application;
5155a97a9ad44407250e68a2805d89606768160922jackqdyulei
5255a97a9ad44407250e68a2805d89606768160922jackqdyulei        mAnomaly = new Anomaly.Builder()
5355a97a9ad44407250e68a2805d89606768160922jackqdyulei                .setType(ANOMALY_TYPE)
5455a97a9ad44407250e68a2805d89606768160922jackqdyulei                .setPackageName(PACKAGE_NAME)
5555a97a9ad44407250e68a2805d89606768160922jackqdyulei                .setDisplayName(DISPLAY_NAME)
5655a97a9ad44407250e68a2805d89606768160922jackqdyulei                .setUid(UID)
5755a97a9ad44407250e68a2805d89606768160922jackqdyulei                .build();
5855a97a9ad44407250e68a2805d89606768160922jackqdyulei    }
5955a97a9ad44407250e68a2805d89606768160922jackqdyulei
6055a97a9ad44407250e68a2805d89606768160922jackqdyulei    @Test
6155a97a9ad44407250e68a2805d89606768160922jackqdyulei    public void testAnomalyPreference_containsCorrectData() {
6255a97a9ad44407250e68a2805d89606768160922jackqdyulei        mAnomalyPreference = new AnomalyPreference(mContext, mAnomaly);
6355a97a9ad44407250e68a2805d89606768160922jackqdyulei
6455a97a9ad44407250e68a2805d89606768160922jackqdyulei        assertThat(mAnomalyPreference.getTitle()).isEqualTo(DISPLAY_NAME);
6555a97a9ad44407250e68a2805d89606768160922jackqdyulei    }
6655a97a9ad44407250e68a2805d89606768160922jackqdyulei}
67