1601964b92795860610262cabfc920765d174fd93Peter Qiu/*
2601964b92795860610262cabfc920765d174fd93Peter Qiu * Copyright (C) 2016 The Android Open Source Project
3601964b92795860610262cabfc920765d174fd93Peter Qiu *
4601964b92795860610262cabfc920765d174fd93Peter Qiu * Licensed under the Apache License, Version 2.0 (the "License");
5601964b92795860610262cabfc920765d174fd93Peter Qiu * you may not use this file except in compliance with the License.
6601964b92795860610262cabfc920765d174fd93Peter Qiu * You may obtain a copy of the License at
7601964b92795860610262cabfc920765d174fd93Peter Qiu *
8601964b92795860610262cabfc920765d174fd93Peter Qiu *      http://www.apache.org/licenses/LICENSE-2.0
9601964b92795860610262cabfc920765d174fd93Peter Qiu *
10601964b92795860610262cabfc920765d174fd93Peter Qiu * Unless required by applicable law or agreed to in writing, software
11601964b92795860610262cabfc920765d174fd93Peter Qiu * distributed under the License is distributed on an "AS IS" BASIS,
12601964b92795860610262cabfc920765d174fd93Peter Qiu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13601964b92795860610262cabfc920765d174fd93Peter Qiu * See the License for the specific language governing permissions and
14601964b92795860610262cabfc920765d174fd93Peter Qiu * limitations under the License.
15601964b92795860610262cabfc920765d174fd93Peter Qiu */
16601964b92795860610262cabfc920765d174fd93Peter Qiu
17601964b92795860610262cabfc920765d174fd93Peter Qiupackage android.net.wifi;
18601964b92795860610262cabfc920765d174fd93Peter Qiu
19601964b92795860610262cabfc920765d174fd93Peter Qiuimport static org.mockito.Mockito.mock;
20601964b92795860610262cabfc920765d174fd93Peter Qiuimport static org.mockito.Mockito.validateMockitoUsage;
21601964b92795860610262cabfc920765d174fd93Peter Qiuimport static org.mockito.Mockito.when;
22601964b92795860610262cabfc920765d174fd93Peter Qiu
23601964b92795860610262cabfc920765d174fd93Peter Qiuimport android.content.Context;
24601964b92795860610262cabfc920765d174fd93Peter Qiuimport android.os.Handler;
25601964b92795860610262cabfc920765d174fd93Peter Qiuimport android.os.test.TestLooper;
26601964b92795860610262cabfc920765d174fd93Peter Qiuimport android.test.suitebuilder.annotation.SmallTest;
27601964b92795860610262cabfc920765d174fd93Peter Qiu
28601964b92795860610262cabfc920765d174fd93Peter Qiuimport com.android.internal.util.test.BidirectionalAsyncChannelServer;
29601964b92795860610262cabfc920765d174fd93Peter Qiu
30601964b92795860610262cabfc920765d174fd93Peter Qiuimport org.junit.After;
31601964b92795860610262cabfc920765d174fd93Peter Qiuimport org.junit.Before;
32601964b92795860610262cabfc920765d174fd93Peter Qiuimport org.mockito.Mock;
33601964b92795860610262cabfc920765d174fd93Peter Qiuimport org.mockito.MockitoAnnotations;
34601964b92795860610262cabfc920765d174fd93Peter Qiu
3582b4fd94f1f0a8673219fea8dbdfd5e5117b803bMichael Plass
36601964b92795860610262cabfc920765d174fd93Peter Qiu/**
37601964b92795860610262cabfc920765d174fd93Peter Qiu * Unit tests for {@link android.net.wifi.WifiScanner}.
38601964b92795860610262cabfc920765d174fd93Peter Qiu */
39601964b92795860610262cabfc920765d174fd93Peter Qiu@SmallTest
40601964b92795860610262cabfc920765d174fd93Peter Qiupublic class WifiScannerTest {
41601964b92795860610262cabfc920765d174fd93Peter Qiu    @Mock
42601964b92795860610262cabfc920765d174fd93Peter Qiu    private Context mContext;
43601964b92795860610262cabfc920765d174fd93Peter Qiu    @Mock
44601964b92795860610262cabfc920765d174fd93Peter Qiu    private IWifiScanner mService;
45601964b92795860610262cabfc920765d174fd93Peter Qiu
46601964b92795860610262cabfc920765d174fd93Peter Qiu    private WifiScanner mWifiScanner;
47601964b92795860610262cabfc920765d174fd93Peter Qiu    private TestLooper mLooper;
48601964b92795860610262cabfc920765d174fd93Peter Qiu    private Handler mHandler;
49601964b92795860610262cabfc920765d174fd93Peter Qiu
50601964b92795860610262cabfc920765d174fd93Peter Qiu    /**
51601964b92795860610262cabfc920765d174fd93Peter Qiu     * Setup before tests.
52601964b92795860610262cabfc920765d174fd93Peter Qiu     */
53601964b92795860610262cabfc920765d174fd93Peter Qiu    @Before
54601964b92795860610262cabfc920765d174fd93Peter Qiu    public void setUp() throws Exception {
55601964b92795860610262cabfc920765d174fd93Peter Qiu        MockitoAnnotations.initMocks(this);
56601964b92795860610262cabfc920765d174fd93Peter Qiu        mLooper = new TestLooper();
57601964b92795860610262cabfc920765d174fd93Peter Qiu        mHandler = mock(Handler.class);
58601964b92795860610262cabfc920765d174fd93Peter Qiu        BidirectionalAsyncChannelServer server = new BidirectionalAsyncChannelServer(
59601964b92795860610262cabfc920765d174fd93Peter Qiu                mContext, mLooper.getLooper(), mHandler);
60601964b92795860610262cabfc920765d174fd93Peter Qiu        when(mService.getMessenger()).thenReturn(server.getMessenger());
61601964b92795860610262cabfc920765d174fd93Peter Qiu        mWifiScanner = new WifiScanner(mContext, mService, mLooper.getLooper());
62601964b92795860610262cabfc920765d174fd93Peter Qiu        mLooper.dispatchAll();
63601964b92795860610262cabfc920765d174fd93Peter Qiu    }
64601964b92795860610262cabfc920765d174fd93Peter Qiu
65601964b92795860610262cabfc920765d174fd93Peter Qiu    /**
66601964b92795860610262cabfc920765d174fd93Peter Qiu     * Clean up after tests.
67601964b92795860610262cabfc920765d174fd93Peter Qiu     */
68601964b92795860610262cabfc920765d174fd93Peter Qiu    @After
69601964b92795860610262cabfc920765d174fd93Peter Qiu    public void cleanup() {
70601964b92795860610262cabfc920765d174fd93Peter Qiu        validateMockitoUsage();
71601964b92795860610262cabfc920765d174fd93Peter Qiu    }
72601964b92795860610262cabfc920765d174fd93Peter Qiu
73601964b92795860610262cabfc920765d174fd93Peter Qiu}
74