136c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu/*
236c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * Copyright (C) 2016 The Android Open Source Project
336c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu *
436c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * Licensed under the Apache License, Version 2.0 (the "License");
536c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * you may not use this file except in compliance with the License.
636c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * You may obtain a copy of the License at
736c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu *
836c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu *      http://www.apache.org/licenses/LICENSE-2.0
936c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu *
1036c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * Unless required by applicable law or agreed to in writing, software
1136c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * distributed under the License is distributed on an "AS IS" BASIS,
1236c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1336c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * See the License for the specific language governing permissions and
1436c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu * limitations under the License.
1536c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu */
1636c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
1736c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yupackage com.android.internal.telephony;
1836c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
1936c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yuimport android.os.Bundle;
2036c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yuimport android.os.Parcel;
2136c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yuimport android.telephony.VoLteServiceState;
2236c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yuimport android.test.suitebuilder.annotation.SmallTest;
2336c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
2436c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yuimport junit.framework.TestCase;
2536c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
2636c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
2736c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yupublic class VoLteServiceStateTest extends TestCase {
2836c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
2936c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    @SmallTest
3036c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    public void testGetState() {
3136c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        VoLteServiceState state = new VoLteServiceState(VoLteServiceState.HANDOVER_STARTED);
3236c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        assertEquals(VoLteServiceState.HANDOVER_STARTED, state.getSrvccState());
3336c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    }
3436c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
3536c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    @SmallTest
3636c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    public void testParcel() {
3736c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        VoLteServiceState state = new VoLteServiceState(VoLteServiceState.HANDOVER_FAILED);
3836c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        Parcel p = Parcel.obtain();
3936c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        state.writeToParcel(p, 0);
4036c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        p.setDataPosition(0);
4136c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        VoLteServiceState newState = VoLteServiceState.CREATOR.createFromParcel(p);
4236c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        assertEquals(state, newState);
4336c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    }
4436c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
4536c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    @SmallTest
4636c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    public void testCreateFromBundle() {
4736c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        Bundle b = new Bundle();
4836c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        b.putInt("mSrvccState", VoLteServiceState.HANDOVER_COMPLETED);
4936c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        assertEquals(VoLteServiceState.HANDOVER_COMPLETED,
5036c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu                VoLteServiceState.newFromBundle(b).getSrvccState());
5136c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    }
5236c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
5336c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    @SmallTest
5436c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    public void testFillInNotifierBundle() {
5536c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        Bundle b = new Bundle();
5636c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        VoLteServiceState state = new VoLteServiceState(VoLteServiceState.HANDOVER_CANCELED);
5736c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        state.fillInNotifierBundle(b);
5836c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        assertEquals(VoLteServiceState.HANDOVER_CANCELED, b.getInt("mSrvccState"));
5936c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    }
6036c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
6136c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    @SmallTest
6236c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    public void testCopy() {
6336c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        VoLteServiceState state = new VoLteServiceState(VoLteServiceState.HANDOVER_STARTED);
6436c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        VoLteServiceState newState = new VoLteServiceState(state);
6536c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu        assertEquals(state, newState);
6636c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu    }
6736c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu}
6836c918df3bd4f237142159efa58a1e9b5c2492d1Jack Yu
69