182500dd86631a08d290929f64824c4fd22f0aa75Wei Wang/*
282500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * Copyright (C) 2014 The Android Open Source Project
382500dd86631a08d290929f64824c4fd22f0aa75Wei Wang *
482500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * Licensed under the Apache License, Version 2.0 (the "License");
582500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * you may not use this file except in compliance with the License.
682500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * You may obtain a copy of the License at
782500dd86631a08d290929f64824c4fd22f0aa75Wei Wang *
882500dd86631a08d290929f64824c4fd22f0aa75Wei Wang *      http://www.apache.org/licenses/LICENSE-2.0
982500dd86631a08d290929f64824c4fd22f0aa75Wei Wang *
1082500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * Unless required by applicable law or agreed to in writing, software
1182500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * distributed under the License is distributed on an "AS IS" BASIS,
1282500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1382500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * See the License for the specific language governing permissions and
1482500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * limitations under the License.
1582500dd86631a08d290929f64824c4fd22f0aa75Wei Wang */
1682500dd86631a08d290929f64824c4fd22f0aa75Wei Wang
1782500dd86631a08d290929f64824c4fd22f0aa75Wei Wangpackage android.bluetooth;
1882500dd86631a08d290929f64824c4fd22f0aa75Wei Wang
1982500dd86631a08d290929f64824c4fd22f0aa75Wei Wangimport android.os.ParcelUuid;
2082500dd86631a08d290929f64824c4fd22f0aa75Wei Wangimport android.test.suitebuilder.annotation.SmallTest;
2182500dd86631a08d290929f64824c4fd22f0aa75Wei Wang
2282500dd86631a08d290929f64824c4fd22f0aa75Wei Wangimport junit.framework.TestCase;
2382500dd86631a08d290929f64824c4fd22f0aa75Wei Wang
2482500dd86631a08d290929f64824c4fd22f0aa75Wei Wang/**
2582500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * Unit test cases for {@link BluetoothUuid}.
2682500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * <p>
2782500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * To run this test, use adb shell am instrument -e class 'android.bluetooth.BluetoothUuidTest' -w
2882500dd86631a08d290929f64824c4fd22f0aa75Wei Wang * 'com.android.bluetooth.tests/android.bluetooth.BluetoothTestRunner'
2982500dd86631a08d290929f64824c4fd22f0aa75Wei Wang */
3082500dd86631a08d290929f64824c4fd22f0aa75Wei Wangpublic class BluetoothUuidTest extends TestCase {
3182500dd86631a08d290929f64824c4fd22f0aa75Wei Wang
3282500dd86631a08d290929f64824c4fd22f0aa75Wei Wang    @SmallTest
3382500dd86631a08d290929f64824c4fd22f0aa75Wei Wang    public void testUuidParser() {
3482500dd86631a08d290929f64824c4fd22f0aa75Wei Wang        byte[] uuid16 = new byte[] {
3582500dd86631a08d290929f64824c4fd22f0aa75Wei Wang                0x0B, 0x11 };
3682500dd86631a08d290929f64824c4fd22f0aa75Wei Wang        assertEquals(ParcelUuid.fromString("0000110B-0000-1000-8000-00805F9B34FB"),
3782500dd86631a08d290929f64824c4fd22f0aa75Wei Wang                BluetoothUuid.parseUuidFrom(uuid16));
3882500dd86631a08d290929f64824c4fd22f0aa75Wei Wang
3982500dd86631a08d290929f64824c4fd22f0aa75Wei Wang        byte[] uuid32 = new byte[] {
4082500dd86631a08d290929f64824c4fd22f0aa75Wei Wang                0x0B, 0x11, 0x33, (byte) 0xFE };
4182500dd86631a08d290929f64824c4fd22f0aa75Wei Wang        assertEquals(ParcelUuid.fromString("FE33110B-0000-1000-8000-00805F9B34FB"),
4282500dd86631a08d290929f64824c4fd22f0aa75Wei Wang                BluetoothUuid.parseUuidFrom(uuid32));
4382500dd86631a08d290929f64824c4fd22f0aa75Wei Wang
4482500dd86631a08d290929f64824c4fd22f0aa75Wei Wang        byte[] uuid128 = new byte[] {
4582500dd86631a08d290929f64824c4fd22f0aa75Wei Wang                0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
4682500dd86631a08d290929f64824c4fd22f0aa75Wei Wang                0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, (byte) 0xFF };
4782500dd86631a08d290929f64824c4fd22f0aa75Wei Wang        assertEquals(ParcelUuid.fromString("FF0F0E0D-0C0B-0A09-0807-0060504030201"),
4882500dd86631a08d290929f64824c4fd22f0aa75Wei Wang                BluetoothUuid.parseUuidFrom(uuid128));
4982500dd86631a08d290929f64824c4fd22f0aa75Wei Wang    }
5051800847d9a9965a5d00a7960abb50983651d4a2Wei Wang
5151800847d9a9965a5d00a7960abb50983651d4a2Wei Wang    @SmallTest
5251800847d9a9965a5d00a7960abb50983651d4a2Wei Wang    public void testUuidType() {
5351800847d9a9965a5d00a7960abb50983651d4a2Wei Wang        assertTrue(BluetoothUuid.is16BitUuid(
5451800847d9a9965a5d00a7960abb50983651d4a2Wei Wang                ParcelUuid.fromString("0000110B-0000-1000-8000-00805F9B34FB")));
5551800847d9a9965a5d00a7960abb50983651d4a2Wei Wang        assertFalse(BluetoothUuid.is32BitUuid(
5651800847d9a9965a5d00a7960abb50983651d4a2Wei Wang                ParcelUuid.fromString("0000110B-0000-1000-8000-00805F9B34FB")));
5751800847d9a9965a5d00a7960abb50983651d4a2Wei Wang
5851800847d9a9965a5d00a7960abb50983651d4a2Wei Wang        assertFalse(BluetoothUuid.is16BitUuid(
5951800847d9a9965a5d00a7960abb50983651d4a2Wei Wang                ParcelUuid.fromString("FE33110B-0000-1000-8000-00805F9B34FB")));
6051800847d9a9965a5d00a7960abb50983651d4a2Wei Wang        assertTrue(BluetoothUuid.is32BitUuid(
6151800847d9a9965a5d00a7960abb50983651d4a2Wei Wang                ParcelUuid.fromString("FE33110B-0000-1000-8000-00805F9B34FB")));
6251800847d9a9965a5d00a7960abb50983651d4a2Wei Wang        assertFalse(BluetoothUuid.is32BitUuid(
6351800847d9a9965a5d00a7960abb50983651d4a2Wei Wang                ParcelUuid.fromString("FE33110B-1000-1000-8000-00805F9B34FB")));
6451800847d9a9965a5d00a7960abb50983651d4a2Wei Wang
6551800847d9a9965a5d00a7960abb50983651d4a2Wei Wang    }
6682500dd86631a08d290929f64824c4fd22f0aa75Wei Wang}
67