Updated tests for constant expressions.

Test: `make android.hardware.tests.expression@1.0` compiles
      and generates enum class Color with autofilled values.
Test: `make hidl_test_java` succeeded.
Test: `make hidl_test` succeeded.

Bug: 31628863 Add test for autofilling enum values.
Bug: 31592132 allow constant expressions be array sizes.

Change-Id: I79f35365f1d37843922725ad5a405848f3e8ec08
diff --git a/tests/expression/1.0/IExpression.hal b/tests/expression/1.0/IExpression.hal
index ead131f..4c38e5a 100644
--- a/tests/expression/1.0/IExpression.hal
+++ b/tests/expression/1.0/IExpression.hal
@@ -144,4 +144,54 @@
     logand4 = (0 && 1) == 0,
   };
 
+  enum Grayscale : int8_t {
+    WHITE = 126,
+    GRAY, // 127
+    DARK_GRAY, // -128
+    BLACK // -127
+  };
+
+  enum Color : Grayscale {
+    RED, // -126
+    RUBY = 0,
+    GREEN, // 1
+    BLUE = 5,
+    CYAN, // 6
+    ORANGE, // 7
+    ROSE = WHITE,
+  };
+
+  enum Foo1 : int8_t {};
+  enum Foo2 : Foo1 {};
+  enum Foo3 : Foo2 {
+    BAR1, // 0
+    BAR2 = 10,
+  };
+  enum Foo4 : Foo3 {
+    BAR3, // 11
+    BAR4 = BAR2 + BAR3 // 21
+  };
+
+  enum Number : uint8_t {
+    MAX = 255,
+    MAX_PLUS_1, // 0
+    MAX_PLUS_2 // 1
+  };
+
+  enum Constants {
+    CONST_FOO,
+    CONST_BAR = 70,
+    MAX_ARRAY_SIZE = 20,
+    MAX_ARRAY_SIZE2,
+    MAX_ARRAY_SIZE3 = MAX_ARRAY_SIZE + MAX_ARRAY_SIZE,
+    MY_INT32_MAX_MINUS_1 = 0x7FFFFFFE,
+    MY_INT32_MAX, // 0x7FFFFFFF
+    MY_INT32_MIN, // 0x80000000
+    MY_INT32_MIN_PLUS_1, // 0x80000001
+  };
+
+  @callflow(key=Constants:CONST_FOO + 1)
+  foo1(int32_t[Constants:CONST_FOO + 1] array);
+  foo2(int32_t[5 + 8] array);
+  foo3(int32_t[Constants:MAX_ARRAY_SIZE] array);
 };