1 /* 2 * Copyright (C) 2023 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 17 package android.car.hardware.property; 18 19 import static com.google.common.truth.Truth.assertWithMessage; 20 21 import androidx.test.filters.SmallTest; 22 23 import org.junit.Test; 24 import org.junit.runner.RunWith; 25 import org.junit.runners.Parameterized; 26 27 import java.util.Arrays; 28 import java.util.Collection; 29 30 @SmallTest 31 @RunWith(Parameterized.class) 32 public class DriverDrowsinessAttentionStateUnitTest { 33 private final int mJavaConstantValue; 34 private final int mHalConstantValue; 35 DriverDrowsinessAttentionStateUnitTest(int javaConstantValue, int halConstantValue)36 public DriverDrowsinessAttentionStateUnitTest(int javaConstantValue, int halConstantValue) { 37 mJavaConstantValue = javaConstantValue; 38 mHalConstantValue = halConstantValue; 39 } 40 41 @Parameterized.Parameters constantValues()42 public static Collection constantValues() { 43 return Arrays.asList( 44 new Object[][] { 45 { 46 android.car.hardware.property.DriverDrowsinessAttentionState.OTHER, 47 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 48 .OTHER 49 }, 50 { 51 android.car.hardware.property.DriverDrowsinessAttentionState 52 .KSS_RATING_1_EXTREMELY_ALERT, 53 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 54 .KSS_RATING_1_EXTREMELY_ALERT 55 }, 56 { 57 android.car.hardware.property.DriverDrowsinessAttentionState 58 .KSS_RATING_2_VERY_ALERT, 59 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 60 .KSS_RATING_2_VERY_ALERT 61 }, 62 { 63 android.car.hardware.property.DriverDrowsinessAttentionState 64 .KSS_RATING_3_ALERT, 65 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 66 .KSS_RATING_3_ALERT 67 }, 68 { 69 android.car.hardware.property.DriverDrowsinessAttentionState 70 .KSS_RATING_4_RATHER_ALERT, 71 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 72 .KSS_RATING_4_RATHER_ALERT 73 }, 74 { 75 android.car.hardware.property.DriverDrowsinessAttentionState 76 .KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY, 77 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 78 .KSS_RATING_5_NEITHER_ALERT_NOR_SLEEPY 79 }, 80 { 81 android.car.hardware.property.DriverDrowsinessAttentionState 82 .KSS_RATING_6_SOME_SLEEPINESS, 83 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 84 .KSS_RATING_6_SOME_SLEEPINESS 85 }, 86 { 87 android.car.hardware.property.DriverDrowsinessAttentionState 88 .KSS_RATING_7_SLEEPY_NO_EFFORT, 89 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 90 .KSS_RATING_7_SLEEPY_NO_EFFORT 91 }, 92 { 93 android.car.hardware.property.DriverDrowsinessAttentionState 94 .KSS_RATING_8_SLEEPY_SOME_EFFORT, 95 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 96 .KSS_RATING_8_SLEEPY_SOME_EFFORT 97 }, 98 { 99 android.car.hardware.property.DriverDrowsinessAttentionState 100 .KSS_RATING_9_VERY_SLEEPY, 101 android.hardware.automotive.vehicle.DriverDrowsinessAttentionState 102 .KSS_RATING_9_VERY_SLEEPY 103 } 104 }); 105 } 106 107 @Test testMatchWithVehicleHal()108 public void testMatchWithVehicleHal() { 109 assertWithMessage("Java constant") 110 .that(mJavaConstantValue) 111 .isEqualTo(mHalConstantValue); 112 } 113 } 114