1bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik/* 2bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * Copyright (C) 2016 The Android Open Source Project 3bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * 4bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * Licensed under the Apache License, Version 2.0 (the "License"); 5bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * you may not use this file except in compliance with the License. 6bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * You may obtain a copy of the License at 7bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * 8bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * http://www.apache.org/licenses/LICENSE-2.0 9bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * 10bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * Unless required by applicable law or agreed to in writing, software 11bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * distributed under the License is distributed on an "AS IS" BASIS, 12bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * See the License for the specific language governing permissions and 14bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * limitations under the License. 15bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik */ 16bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 17bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paikpackage com.android.car.apitest; 18bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 19bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paikimport android.car.hardware.CarPropertyConfig; 20bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paikimport android.car.hardware.CarPropertyValue; 21bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paikimport android.os.Parcel; 22bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paikimport android.os.Parcelable; 23bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paikimport android.test.AndroidTestCase; 24bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 25bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik/** 26bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik * Base class to test {@link CarPropertyConfig} and {@link CarPropertyValue}. 27bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik */ 28bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paikpublic class CarPropertyTestBase extends AndroidTestCase { 29bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 30bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected final static int PROPERTY_ID = 0xBEEFBEEF; 31bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected final static int CAR_AREA_TYPE = 0xDEADBEEF; 32bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected final static int WINDOW_DRIVER = 0x00000001; 33bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected final static int WINDOW_PASSENGER = 0x00000002; 34bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 35bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik private Parcel mParcel; 36bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 37bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik @Override 38bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected void setUp() throws Exception { 39bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik super.setUp(); 40bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik mParcel = Parcel.obtain(); 41bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik } 42bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 43bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik @Override 44bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected void tearDown() throws Exception { 45bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik mParcel.recycle(); 46bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik super.tearDown(); 47bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik } 48bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 49bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected <T extends Parcelable> T readFromParcel() { 50bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik mParcel.setDataPosition(0); 51bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik return mParcel.readParcelable(null); 52bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik } 53bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik 54bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik protected void writeToParcel(Parcelable value) { 55bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik mParcel.writeParcelable(value, 0); 56bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik } 57bf52d5bfd313ae33cdeb3c0b6252df9d153d6bebSteve Paik} 58