Home | History | Annotate | Download | only in libtest
      1 /*
      2  * Copyright (C) 2015 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 package com.android.car.vehiclenetwork.libtest;
     17 
     18 import com.android.car.vehiclenetwork.VehicleNetworkConsts.VehicleValueType;
     19 import com.android.car.vehiclenetwork.VehicleNetworkProto.VehiclePropValue;
     20 import com.google.protobuf.ByteString;
     21 
     22 public class VehicleNetworkTestUtil {
     23 
     24     public static VehiclePropValue createDummyValue(int prop, int valueType) {
     25         VehiclePropValue.Builder builder = VehiclePropValue.newBuilder().
     26                 setProp(prop).
     27                 setValueType(valueType);
     28         switch (valueType) {
     29             case VehicleValueType.VEHICLE_VALUE_TYPE_STRING:
     30                 builder.setStringValue("");
     31                 break;
     32             case VehicleValueType.VEHICLE_VALUE_TYPE_BYTES:
     33                 builder.setBytesValue(ByteString.copyFrom(new byte[1]));
     34                 break;
     35             case VehicleValueType.VEHICLE_VALUE_TYPE_BOOLEAN:
     36                 builder.addInt32Values(0);
     37                 break;
     38             case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_INT32:
     39             case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_BOOLEAN:
     40                 builder.setZone(0).addInt32Values(0);
     41             case VehicleValueType.VEHICLE_VALUE_TYPE_ZONED_FLOAT:
     42                 builder.setZone(0).addFloatValues(0f);
     43             case VehicleValueType.VEHICLE_VALUE_TYPE_INT64:
     44                 builder.setInt64Value(0);
     45                 break;
     46             case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT:
     47             case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC2:
     48             case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC3:
     49             case VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT_VEC4: {
     50                 int n = valueType - VehicleValueType.VEHICLE_VALUE_TYPE_FLOAT + 1;
     51                 for (int i = 0; i < n; i++) {
     52                     builder.addFloatValues(0f);
     53                 }
     54             } break;
     55             case VehicleValueType.VEHICLE_VALUE_TYPE_INT32:
     56             case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC2:
     57             case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC3:
     58             case VehicleValueType.VEHICLE_VALUE_TYPE_INT32_VEC4: {
     59                 int n = valueType - VehicleValueType.VEHICLE_VALUE_TYPE_INT32 + 1;
     60                 for (int i = 0; i < n; i++) {
     61                     builder.addInt32Values(0);
     62                 }
     63             } break;
     64         }
     65         return builder.build();
     66     }
     67 }
     68