15fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei/*
25fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * Copyright (C) 2017 The Android Open Source Project
35fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei *
45fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * Licensed under the Apache License, Version 2.0 (the "License");
55fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * you may not use this file except in compliance with the License.
65fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * You may obtain a copy of the License at
75fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei *
85fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei *      http://www.apache.org/licenses/LICENSE-2.0
95fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei *
105fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * Unless required by applicable law or agreed to in writing, software
115fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * distributed under the License is distributed on an "AS IS" BASIS,
125fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
135fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * See the License for the specific language governing permissions and
145fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei * limitations under the License.
155fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei */
165fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
175fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleipackage com.android.settings.bluetooth;
185fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
195fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport static org.mockito.Mockito.verify;
205fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
215fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport com.android.settings.TestConfig;
225fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport com.android.settings.testutils.SettingsRobolectricTestRunner;
235fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport com.android.settingslib.bluetooth.LocalBluetoothAdapter;
245fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
255fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport org.junit.Before;
265fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport org.junit.Test;
275fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport org.junit.runner.RunWith;
285fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport org.mockito.Mock;
295fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport org.mockito.MockitoAnnotations;
305fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleiimport org.robolectric.annotation.Config;
315fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
325fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei@RunWith(SettingsRobolectricTestRunner.class)
335fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
345fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyuleipublic class DevicePickerFragmentTest {
355fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    @Mock
365fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    private LocalBluetoothAdapter mLocalAdapter;
375fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    @Mock
385fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    private BluetoothProgressCategory mAvailableDevicesCategory;
395fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    private DevicePickerFragment mFragment;
405fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
415fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    @Before
425fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    public void setUp() {
435fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei        MockitoAnnotations.initMocks(this);
445fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
455fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei        mFragment = new DevicePickerFragment();
465fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
475fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei        mFragment.mAvailableDevicesCategory = mAvailableDevicesCategory;
485fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    }
495fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
505fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    @Test
515fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    public void testScanningStateChanged_started_setProgressStarted() {
525fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei        mFragment.mScanEnabled = true;
535fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
545fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei        mFragment.onScanningStateChanged(true);
555fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei
565fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei        verify(mAvailableDevicesCategory).setProgress(true);
575fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei    }
585fbdfddb132934d5407e5f586d1926dff35f03bbjackqdyulei}
59