From 3156a4ce21cb4de46f84b8c7264a3dc31dd8db8b Mon Sep 17 00:00:00 2001 From: Eugene Susla Date: Thu, 25 Jul 2019 14:05:12 -0700 Subject: Addresses further review comments from ag/8000041 Including: - An API to opt out of Int/StringDefs generation on per-field basis - A way to customize Builder - Non-optional fields are passed in Builder constructor - Various adjustments to SampleDataclass examples, as requested Test: . $ANDROID_BUILD_TOP/frameworks/base/tests/Codegen/runTest.sh Change-Id: I32d2eec52f05d505ff07779d923e4793d3036579 --- .../com/android/codegentest/SampleDataClassTest.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java') diff --git a/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java b/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java index 71e85ab00eab..663620743af9 100644 --- a/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java +++ b/tests/Codegen/src/com/android/codegentest/SampleDataClassTest.java @@ -49,7 +49,7 @@ public class SampleDataClassTest { private SampleDataClass mSpecimen = newBuilder().build(); private static SampleDataClass.Builder newBuilder() { - return newIncompleteBuilder() + return newInvalidBuilder() .setNum(42) .setNum2(42) .setNum4(42) @@ -57,9 +57,8 @@ public class SampleDataClassTest { .setLinkAddresses5(); } - private static SampleDataClass.Builder newIncompleteBuilder() { - return new SampleDataClass.Builder() - .markActive() + private static SampleDataClass.Builder newInvalidBuilder() { + return new SampleDataClass.Builder(1, 2, 3, "a", 0, null) .setName("some parcelable") .setFlags(SampleDataClass.FLAG_MANUAL_REQUEST); } @@ -91,7 +90,7 @@ public class SampleDataClassTest { public void testCustomParcelling_instanceIsCached() { parcelAndUnparcel(mSpecimen, SampleDataClass.CREATOR); parcelAndUnparcel(mSpecimen, SampleDataClass.CREATOR); - assertEquals(1, DateParcelling.sInstanceCount.get()); + assertEquals(1, MyDateParcelling.sInstanceCount.get()); } @Test @@ -149,8 +148,8 @@ public class SampleDataClassTest { } @Test(expected = IllegalStateException.class) - public void testBuilder_throwsWhenRequiredFieldMissing() { - newIncompleteBuilder().build(); + public void testBuilder_performsValidation() { + newInvalidBuilder().build(); } @Test @@ -205,6 +204,11 @@ public class SampleDataClassTest { assertSame(tmpStorage, tmpStorageAgain); } + @Test(expected = IllegalStateException.class) + public void testCustomAnnotationValidation_isRun() { + newBuilder().setDayOfWeek(42).build(); + } + private static T parcelAndUnparcel( T original, Parcelable.Creator creator) { Parcel p = Parcel.obtain(); -- cgit v1.2.3