1237e5944029e73d20caaf7c509473b9a6f954363Xia Wang/*
2237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * Copyright (C) 2010 The Android Open Source Project
3237e5944029e73d20caaf7c509473b9a6f954363Xia Wang *
4237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * Licensed under the Apache License, Version 2.0 (the "License");
5237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * you may not use this file except in compliance with the License.
6237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * You may obtain a copy of the License at
7237e5944029e73d20caaf7c509473b9a6f954363Xia Wang *
8237e5944029e73d20caaf7c509473b9a6f954363Xia Wang *      http://www.apache.org/licenses/LICENSE-2.0
9237e5944029e73d20caaf7c509473b9a6f954363Xia Wang *
10237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * Unless required by applicable law or agreed to in writing, software
11237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * distributed under the License is distributed on an "AS IS" BASIS,
12237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * See the License for the specific language governing permissions and
14237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * limitations under the License.
15237e5944029e73d20caaf7c509473b9a6f954363Xia Wang */
16237e5944029e73d20caaf7c509473b9a6f954363Xia Wang
17237e5944029e73d20caaf7c509473b9a6f954363Xia Wangpackage com.android.telephonymockriltests.functional;
18237e5944029e73d20caaf7c509473b9a6f954363Xia Wang
19237e5944029e73d20caaf7c509473b9a6f954363Xia Wangimport com.android.internal.telephony.mockril.MockRilController;
20237e5944029e73d20caaf7c509473b9a6f954363Xia Wangimport android.test.InstrumentationTestCase;
21237e5944029e73d20caaf7c509473b9a6f954363Xia Wangimport android.util.Log;
22237e5944029e73d20caaf7c509473b9a6f954363Xia Wang
23237e5944029e73d20caaf7c509473b9a6f954363Xia Wangimport com.android.telephonymockriltests.TelephonyMockTestRunner;
24237e5944029e73d20caaf7c509473b9a6f954363Xia Wang
25237e5944029e73d20caaf7c509473b9a6f954363Xia Wang/**
26237e5944029e73d20caaf7c509473b9a6f954363Xia Wang * A simple test that using Mock RIL Controller
27237e5944029e73d20caaf7c509473b9a6f954363Xia Wang */
28237e5944029e73d20caaf7c509473b9a6f954363Xia Wangpublic class SimpleTestUsingMockRil extends InstrumentationTestCase {
29237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    private static final String TAG = "SimpleTestUsingMockRil";
30237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    private MockRilController mMockRilCtrl = null;
31237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    private TelephonyMockTestRunner mRunner;
32237e5944029e73d20caaf7c509473b9a6f954363Xia Wang
33237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    @Override
34237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    public void setUp() throws Exception {
35237e5944029e73d20caaf7c509473b9a6f954363Xia Wang        super.setUp();
36237e5944029e73d20caaf7c509473b9a6f954363Xia Wang        mRunner = (TelephonyMockTestRunner)getInstrumentation();
37237e5944029e73d20caaf7c509473b9a6f954363Xia Wang        mMockRilCtrl = mRunner.mController;
38237e5944029e73d20caaf7c509473b9a6f954363Xia Wang        assertNotNull(mMockRilCtrl);
39237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    }
40237e5944029e73d20caaf7c509473b9a6f954363Xia Wang
41237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    /**
42237e5944029e73d20caaf7c509473b9a6f954363Xia Wang     * Get the current radio state of RIL
43237e5944029e73d20caaf7c509473b9a6f954363Xia Wang     */
44237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    public void testGetRadioState() {
45237e5944029e73d20caaf7c509473b9a6f954363Xia Wang        int state = mMockRilCtrl.getRadioState();
46237e5944029e73d20caaf7c509473b9a6f954363Xia Wang        Log.v(TAG, "testGetRadioState: " + state);
47237e5944029e73d20caaf7c509473b9a6f954363Xia Wang        assertTrue(state >= 0 && state <= 9);
48237e5944029e73d20caaf7c509473b9a6f954363Xia Wang    }
49e9be34c22789d2cecd7704498c5a20547490863dXia Wang
50e9be34c22789d2cecd7704498c5a20547490863dXia Wang    /**
51e9be34c22789d2cecd7704498c5a20547490863dXia Wang     * Set the current radio state of RIL
52e9be34c22789d2cecd7704498c5a20547490863dXia Wang     * and verify the radio state is set correctly
53e9be34c22789d2cecd7704498c5a20547490863dXia Wang     */
54e9be34c22789d2cecd7704498c5a20547490863dXia Wang    public void testSetRadioState() {
55e9be34c22789d2cecd7704498c5a20547490863dXia Wang        for (int state = 0; state <= 9; state++) {
56e9be34c22789d2cecd7704498c5a20547490863dXia Wang            Log.v(TAG, "set radio state to be " + state);
57e9be34c22789d2cecd7704498c5a20547490863dXia Wang            assertTrue("set radio state: " + state + " failed.",
58e9be34c22789d2cecd7704498c5a20547490863dXia Wang                       mMockRilCtrl.setRadioState(state));
59e9be34c22789d2cecd7704498c5a20547490863dXia Wang        }
60e9be34c22789d2cecd7704498c5a20547490863dXia Wang        assertFalse("use an invalid radio state", mMockRilCtrl.setRadioState(-1));
61e9be34c22789d2cecd7704498c5a20547490863dXia Wang        assertFalse("the radio state doesn't exist", mMockRilCtrl.setRadioState(10));
62e9be34c22789d2cecd7704498c5a20547490863dXia Wang    }
63237e5944029e73d20caaf7c509473b9a6f954363Xia Wang}
64