From 1c38f8517710d6d5e65b3babe3dbe019baf05aae Mon Sep 17 00:00:00 2001 From: Exlll Date: Sun, 7 Aug 2022 05:35:43 +0200 Subject: [PATCH] Refactor SerializerSelectorTest --- .../de/exlll/configlib/TypeComponent.java | 2 +- .../configlib/SerializerSelectorTest.java | 242 +++++++++--------- 2 files changed, 117 insertions(+), 127 deletions(-) diff --git a/configlib-core/src/main/java/de/exlll/configlib/TypeComponent.java b/configlib-core/src/main/java/de/exlll/configlib/TypeComponent.java index 98f4178..c3f5d7a 100644 --- a/configlib-core/src/main/java/de/exlll/configlib/TypeComponent.java +++ b/configlib-core/src/main/java/de/exlll/configlib/TypeComponent.java @@ -14,7 +14,7 @@ import static de.exlll.configlib.Validator.requireNonNull; * * @param the type of the component */ -interface TypeComponent { +sealed interface TypeComponent { /** * Returns the component itself. * diff --git a/configlib-core/src/test/java/de/exlll/configlib/SerializerSelectorTest.java b/configlib-core/src/test/java/de/exlll/configlib/SerializerSelectorTest.java index dd3fded..013e018 100644 --- a/configlib-core/src/test/java/de/exlll/configlib/SerializerSelectorTest.java +++ b/configlib-core/src/test/java/de/exlll/configlib/SerializerSelectorTest.java @@ -1,16 +1,14 @@ package de.exlll.configlib; import de.exlll.configlib.Serializers.*; +import de.exlll.configlib.configurations.*; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.ValueSource; -import org.mockito.Mockito; import java.awt.Point; import java.io.File; import java.lang.reflect.Field; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; import java.math.BigDecimal; import java.math.BigInteger; import java.net.URI; @@ -24,6 +22,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; +import java.util.function.Predicate; import static de.exlll.configlib.TestUtils.*; import static org.hamcrest.MatcherAssert.assertThat; @@ -34,19 +33,27 @@ class SerializerSelectorTest { private static final SerializerSelector SELECTOR = new SerializerSelector( ConfigurationProperties.newBuilder().build() ); + private static final SerializerSelector SELECTOR_POINT = new SerializerSelector( + ConfigurationProperties.newBuilder().addSerializer(Point.class, POINT_SERIALIZER).build() + ); + + private static TypeComponent findByCondition(Predicate condition) { + for (Field field : ExampleConfigurationA2.class.getDeclaredFields()) { + if (condition.test(field)) + return new TypeComponent.ConfigurationField(field); + } + throw new RuntimeException("missing field"); + } - private static Type getGenericType(Class cls, String fieldName) { - Field ls = getField(cls, fieldName); - return ls.getGenericType(); + private static TypeComponent findByType(Class type) { + return findByCondition(field -> field.getType() == type); } - private static TypeComponent comp(Type type) { - TypeComponent mock = Mockito.mock(TypeComponent.class); - Mockito.when(mock.genericType()).thenReturn(type); - return mock; + private static TypeComponent findByName(String name) { + return findByCondition(field -> field.getName().equals(name)); } - private static TypeComponent comp(Class type, String fieldName) { + private static TypeComponent forField(Class type, String fieldName) { Field field = getField(type, fieldName); return new TypeComponent.ConfigurationField(field); } @@ -54,7 +61,7 @@ class SerializerSelectorTest { @ParameterizedTest @ValueSource(classes = {boolean.class, Boolean.class}) void selectSerializerBoolean(Class cls) { - Serializer serializer = SELECTOR.select(comp(cls)); + Serializer serializer = SELECTOR.select(findByType(cls)); assertThat(serializer, instanceOf(BooleanSerializer.class)); } @@ -65,99 +72,98 @@ class SerializerSelectorTest { float.class, Float.class, double.class, Double.class }) void selectSerializerNumber(Class cls) { - NumberSerializer serializer = (NumberSerializer) SELECTOR.select(comp(cls)); + NumberSerializer serializer = (NumberSerializer) SELECTOR.select(findByType(cls)); assertThat(serializer.getNumberClass(), equalTo(cls)); } @ParameterizedTest @ValueSource(classes = {char.class, Character.class}) void selectSerializerChar(Class cls) { - Serializer serializer = SELECTOR.select(comp(cls)); + Serializer serializer = SELECTOR.select(findByType(cls)); assertThat(serializer, instanceOf(CharacterSerializer.class)); } @Test void selectSerializerString() { - Serializer serializer = SELECTOR.select(comp(String.class)); + Serializer serializer = SELECTOR.select(findByType(String.class)); assertThat(serializer, instanceOf(StringSerializer.class)); } @Test void selectSerializerBigInteger() { - Serializer serializer = SELECTOR.select(comp(BigInteger.class)); + Serializer serializer = SELECTOR.select(findByType(BigInteger.class)); assertThat(serializer, instanceOf(BigIntegerSerializer.class)); } @Test void selectSerializerBigDecimal() { - Serializer serializer = SELECTOR.select(comp(BigDecimal.class)); + Serializer serializer = SELECTOR.select(findByType(BigDecimal.class)); assertThat(serializer, instanceOf(BigDecimalSerializer.class)); } @Test void selectSerializerLocalDate() { - Serializer serializer = SELECTOR.select(comp(LocalDate.class)); + Serializer serializer = SELECTOR.select(findByType(LocalDate.class)); assertThat(serializer, instanceOf(LocalDateSerializer.class)); } @Test void selectSerializerLocalTime() { - Serializer serializer = SELECTOR.select(comp(LocalTime.class)); + Serializer serializer = SELECTOR.select(findByType(LocalTime.class)); assertThat(serializer, instanceOf(LocalTimeSerializer.class)); } @Test void selectSerializerLocalDateTime() { - Serializer serializer = SELECTOR.select(comp(LocalDateTime.class)); + Serializer serializer = SELECTOR.select(findByType(LocalDateTime.class)); assertThat(serializer, instanceOf(LocalDateTimeSerializer.class)); } @Test void selectSerializerInstant() { - Serializer serializer = SELECTOR.select(comp(Instant.class)); + Serializer serializer = SELECTOR.select(findByType(Instant.class)); assertThat(serializer, instanceOf(InstantSerializer.class)); } @Test void selectSerializerUuid() { - Serializer serializer = SELECTOR.select(comp(UUID.class)); + Serializer serializer = SELECTOR.select(findByType(UUID.class)); assertThat(serializer, instanceOf(UuidSerializer.class)); } @Test void selectSerializerFile() { - Serializer serializer = SELECTOR.select(comp(File.class)); + Serializer serializer = SELECTOR.select(findByType(File.class)); assertThat(serializer, instanceOf(FileSerializer.class)); } @Test void selectSerializerPath() { - Serializer serializer = SELECTOR.select(comp(Path.class)); + Serializer serializer = SELECTOR.select(findByType(Path.class)); assertThat(serializer, instanceOf(PathSerializer.class)); } @Test void selectSerializerUrl() { - Serializer serializer = SELECTOR.select(comp(URL.class)); + Serializer serializer = SELECTOR.select(findByType(URL.class)); assertThat(serializer, instanceOf(UrlSerializer.class)); } @Test void selectSerializerUri() { - Serializer serializer = SELECTOR.select(comp(URI.class)); + Serializer serializer = SELECTOR.select(findByType(URI.class)); assertThat(serializer, instanceOf(UriSerializer.class)); } @Test void selectSerializerEnum() { - enum E {} - EnumSerializer serializer = (EnumSerializer) SELECTOR.select(comp(E.class)); - assertThat(serializer.getEnumCls(), equalTo(E.class)); + EnumSerializer serializer = (EnumSerializer) SELECTOR.select(findByType(ExampleEnum.class)); + assertThat(serializer.getEnumCls(), equalTo(ExampleEnum.class)); } @Test void selectSerializerArray() { - var serializer = (ArraySerializer) SELECTOR.select(comp(String[][].class)); + var serializer = (ArraySerializer) SELECTOR.select(findByType(String[][].class)); assertThat(serializer.getComponentType(), equalTo(String[].class)); var elementSerializer = (ArraySerializer) serializer.getElementSerializer(); @@ -167,81 +173,79 @@ class SerializerSelectorTest { @Test void selectSerializerPrimitiveBooleanArray() { - Serializer serializer = SELECTOR.select(comp(boolean[].class)); + Serializer serializer = SELECTOR.select(findByType(boolean[].class)); assertThat(serializer, instanceOf(PrimitiveBooleanArraySerializer.class)); } @Test void selectSerializerPrimitiveCharacterArray() { - Serializer serializer = SELECTOR.select(comp(char[].class)); + Serializer serializer = SELECTOR.select(findByType(char[].class)); assertThat(serializer, instanceOf(PrimitiveCharacterArraySerializer.class)); } @Test void selectSerializerPrimitiveByteArray() { - Serializer serializer = SELECTOR.select(comp(byte[].class)); + Serializer serializer = SELECTOR.select(findByType(byte[].class)); assertThat(serializer, instanceOf(PrimitiveByteArraySerializer.class)); } @Test void selectSerializerPrimitiveShortArray() { - Serializer serializer = SELECTOR.select(comp(short[].class)); + Serializer serializer = SELECTOR.select(findByType(short[].class)); assertThat(serializer, instanceOf(PrimitiveShortArraySerializer.class)); } @Test void selectSerializerPrimitiveIntegerArray() { - Serializer serializer = SELECTOR.select(comp(int[].class)); + Serializer serializer = SELECTOR.select(findByType(int[].class)); assertThat(serializer, instanceOf(PrimitiveIntegerArraySerializer.class)); } @Test void selectSerializerPrimitiveLongArray() { - Serializer serializer = SELECTOR.select(comp(long[].class)); + Serializer serializer = SELECTOR.select(findByType(long[].class)); assertThat(serializer, instanceOf(PrimitiveLongArraySerializer.class)); } @Test void selectSerializerPrimitiveFloatArray() { - Serializer serializer = SELECTOR.select(comp(float[].class)); + Serializer serializer = SELECTOR.select(findByType(float[].class)); assertThat(serializer, instanceOf(PrimitiveFloatArraySerializer.class)); } @Test void selectSerializerPrimitiveDoubleArray() { - Serializer serializer = SELECTOR.select(comp(double[].class)); + Serializer serializer = SELECTOR.select(findByType(double[].class)); assertThat(serializer, instanceOf(PrimitiveDoubleArraySerializer.class)); } @Test void selectSerializerConfiguration() { - @Configuration - class A { - int i; - } - var serializer = (ConfigurationSerializer) SELECTOR.select(comp(A.class)); - assertThat(serializer.getConfigurationType(), equalTo(A.class)); + var serializer1 = (ConfigurationSerializer) SELECTOR_POINT + .select(findByType(ExampleConfigurationB1.class)); + var serializer2 = (ConfigurationSerializer) SELECTOR_POINT + .select(findByType(ExampleConfigurationB2.class)); + assertThat(serializer1.getConfigurationType(), equalTo(ExampleConfigurationB1.class)); + assertThat(serializer2.getConfigurationType(), equalTo(ExampleConfigurationB2.class)); } @Test void selectSerializerRecord() { - record R(int i) {} - var serializer = (RecordSerializer) SELECTOR.select(comp(R.class)); - assertThat(serializer.getRecordType(), equalTo(R.class)); - } - - @Test - void recordSerializerTakesPrecedenceOverConfigurationSerializer() { - @Configuration - record R(int i) {} - var serializer = (RecordSerializer) SELECTOR.select(comp(R.class)); - assertThat(serializer.getRecordType(), equalTo(R.class)); + var serializer1 = (RecordSerializer) SELECTOR_POINT + .select(findByType(ExampleRecord1.class)); + var serializer2 = (RecordSerializer) SELECTOR_POINT + .select(findByType(ExampleRecord2.class)); + assertThat(serializer1.getRecordType(), equalTo(ExampleRecord1.class)); + assertThat(serializer2.getRecordType(), equalTo(ExampleRecord2.class)); } @Test void selectSerializerMissingType() { + class A { + Object object; + } assertThrowsConfigurationException( - () -> SELECTOR.select(comp(Object.class)), + () -> SELECTOR.select(forField(A.class, "object")), "Missing serializer for type class java.lang.Object.\nEither annotate the type with " + "@Configuration or provide a custom serializer by adding it to the properties." ); @@ -249,11 +253,7 @@ class SerializerSelectorTest { @Test void selectSerializerByCustomType() { - var properties = ConfigurationProperties.newBuilder() - .addSerializer(Point.class, POINT_SERIALIZER) - .build(); - SerializerSelector selector = new SerializerSelector(properties); - var pointSerializer = selector.select(comp(Point.class)); + var pointSerializer = SELECTOR_POINT.select(findByType(Point.class)); assertThat(pointSerializer, sameInstance(POINT_SERIALIZER)); } @@ -263,7 +263,7 @@ class SerializerSelectorTest { .addSerializer(BigInteger.class, CUSTOM_BIG_INTEGER_SERIALIZER) .build(); SerializerSelector selector = new SerializerSelector(properties); - var bigIntegerSerializer = selector.select(comp(BigInteger.class)); + var bigIntegerSerializer = selector.select(findByType(BigInteger.class)); assertThat(bigIntegerSerializer, instanceOf(TestUtils.CustomBigIntegerSerializer.class)); assertThat(bigIntegerSerializer, sameInstance(CUSTOM_BIG_INTEGER_SERIALIZER)); } @@ -274,7 +274,7 @@ class SerializerSelectorTest { .addSerializerByCondition(t -> t == Point.class, POINT_SERIALIZER) .build(); SerializerSelector selector = new SerializerSelector(properties); - var pointSerializer = selector.select(comp(Point.class)); + var pointSerializer = selector.select(findByType(Point.class)); assertThat(pointSerializer, sameInstance(POINT_SERIALIZER)); } @@ -284,7 +284,7 @@ class SerializerSelectorTest { .addSerializerByCondition(t -> t == BigInteger.class, CUSTOM_BIG_INTEGER_SERIALIZER) .build(); SerializerSelector selector = new SerializerSelector(properties); - var bigIntegerSerializer = selector.select(comp(BigInteger.class)); + var bigIntegerSerializer = selector.select(findByType(BigInteger.class)); assertThat(bigIntegerSerializer, instanceOf(TestUtils.CustomBigIntegerSerializer.class)); assertThat(bigIntegerSerializer, sameInstance(CUSTOM_BIG_INTEGER_SERIALIZER)); } @@ -298,17 +298,14 @@ class SerializerSelectorTest { .addSerializer(int.class, serializer2) .build(); SerializerSelector selector = new SerializerSelector(properties); - var serializer = selector.select(comp(int.class)); + var serializer = selector.select(findByType(int.class)); assertThat(serializer, instanceOf(IdentifiableSerializer.class)); assertThat(serializer, sameInstance(serializer2)); } @Test void selectSerializerList() { - class A { - List ls; - } - var serializer = (ListSerializer) SELECTOR.select(comp(getGenericType(A.class, "ls"))); + var serializer = (ListSerializer) SELECTOR.select(findByName("a2_listString")); assertThat(serializer.getElementSerializer(), instanceOf(StringSerializer.class)); } @@ -317,41 +314,33 @@ class SerializerSelectorTest { class A { List> lls; } - var serializer = (ListSerializer) SELECTOR.select(comp(getGenericType(A.class, "lls"))); + var serializer = (ListSerializer) SELECTOR.select(findByName("a2_listListByte")); var elementSerializer = (ListSerializer) serializer.getElementSerializer(); - assertThat(elementSerializer.getElementSerializer(), instanceOf(StringSerializer.class)); + var numberSerializer = (NumberSerializer) elementSerializer.getElementSerializer(); + assertThat(numberSerializer.getNumberClass(), equalTo(Byte.class)); } @Test void selectSerializerSetsAsSets() { - class A { - Set ss; - } SerializerSelector selector = new SerializerSelector( ConfigurationProperties.newBuilder().serializeSetsAsLists(false).build() ); - var serializer = (SetSerializer) selector.select(comp(getGenericType(A.class, "ss"))); + var serializer = (SetSerializer) selector.select(findByName("a2_setString")); assertThat(serializer.getElementSerializer(), instanceOf(StringSerializer.class)); } @Test void selectSerializerSetsAsLists() { - class A { - Set ss; - } - var serializer = (SetAsListSerializer) SELECTOR.select(comp(getGenericType(A.class, "ss"))); + var serializer = (SetAsListSerializer) SELECTOR.select(findByName("a2_setString")); assertThat(serializer.getElementSerializer(), instanceOf(StringSerializer.class)); } @Test void selectSerializerMap() { - class A { - Map mis; - } - var serializer = (MapSerializer) SELECTOR.select(comp(getGenericType(A.class, "mis"))); - var numberSerializer = (NumberSerializer) serializer.getKeySerializer(); - assertThat(numberSerializer.getNumberClass(), equalTo(Integer.class)); - assertThat(serializer.getValueSerializer(), instanceOf(StringSerializer.class)); + var serializer = (MapSerializer) SELECTOR_POINT.select(findByName("a2_mapStringR1")); + var stringSerializer = (StringSerializer) serializer.getKeySerializer(); + var recordSerializer = (RecordSerializer) serializer.getValueSerializer(); + assertThat(recordSerializer.getRecordType(), equalTo(ExampleRecord1.class)); } @Test @@ -360,7 +349,7 @@ class SerializerSelectorTest { class A { Map>> mesle; } - var serializer = (MapSerializer) SELECTOR.select(comp(getGenericType(A.class, "mesle"))); + var serializer = (MapSerializer) SELECTOR.select(forField(A.class, "mesle")); var keySerializer = (EnumSerializer) serializer.getKeySerializer(); assertThat(keySerializer.getEnumCls(), equalTo(E.class)); @@ -376,11 +365,12 @@ class SerializerSelectorTest { class A { Map, String> mlss; } - Type type = getGenericType(A.class, "mlss"); + TypeComponent component = forField(A.class, "mlss"); assertThrowsConfigurationException( - () -> SELECTOR.select(comp(type)), - "Cannot select serializer for type '" + type + "'.\nMap keys can only be " + - "of simple or enum type." + () -> SELECTOR.select(component), + ("Cannot select serializer for type '%s'.\n" + + "Map keys can only be of simple or enum type.") + .formatted(component.genericType()) ); } @@ -389,11 +379,12 @@ class SerializerSelectorTest { class A { Map mps; } - Type type = getGenericType(A.class, "mps"); + TypeComponent component = forField(A.class, "mps"); assertThrowsConfigurationException( - () -> SELECTOR.select(comp(type)), - "Cannot select serializer for type '" + type + "'.\nMap keys can only be " + - "of simple or enum type." + () -> SELECTOR.select(component), + ("Cannot select serializer for type '%s'.\n" + + "Map keys can only be of simple or enum type.") + .formatted(component.genericType()) ); } @@ -403,11 +394,12 @@ class SerializerSelectorTest { class A { Box box; } - Type type = getGenericType(A.class, "box"); + TypeComponent component = forField(A.class, "box"); assertThrowsConfigurationException( - () -> SELECTOR.select(comp(type)), - "Cannot select serializer for type '" + type + "'.\nParameterized " + - "types other than lists, sets, and maps cannot be serialized." + () -> SELECTOR.select(component), + ("Cannot select serializer for type '%s'.\n" + + "Parameterized types other than lists, sets, and maps cannot be serialized.") + .formatted(component.genericType()) ); } @@ -416,9 +408,9 @@ class SerializerSelectorTest { class A { List[] ga; } - Type type = getGenericType(A.class, "ga"); + TypeComponent component = forField(A.class, "ga"); assertThrowsConfigurationException( - () -> SELECTOR.select(comp(type)), + () -> SELECTOR.select(component), "Cannot select serializer for type 'java.util.List[]'.\n" + "Generic array types cannot be serialized." ); @@ -429,10 +421,9 @@ class SerializerSelectorTest { class A { List les; } - ParameterizedType ptype = (ParameterizedType) getGenericType(A.class, "les"); - Type type = ptype.getActualTypeArguments()[0]; + TypeComponent component = forField(A.class, "les"); assertThrowsConfigurationException( - () -> SELECTOR.select(comp(type)), + () -> SELECTOR.select(component), "Cannot select serializer for type '? extends java.lang.String'.\n" + "Wildcard types cannot be serialized." ); @@ -443,10 +434,9 @@ class SerializerSelectorTest { class A { List lw; } - ParameterizedType ptype = (ParameterizedType) getGenericType(A.class, "lw"); - Type type = ptype.getActualTypeArguments()[0]; + TypeComponent component = forField(A.class, "lw"); assertThrowsConfigurationException( - () -> SELECTOR.select(comp(type)), + () -> SELECTOR.select(component), "Cannot select serializer for type '?'.\n" + "Wildcard types cannot be serialized." ); @@ -457,9 +447,9 @@ class SerializerSelectorTest { class A { T t; } - Type type = getGenericType(A.class, "t"); + TypeComponent component = forField(A.class, "t"); assertThrowsConfigurationException( - () -> SELECTOR.select(comp(type)), + () -> SELECTOR.select(component), "Cannot select serializer for type 'T'.\n" + "Type variables cannot be serialized." ); @@ -497,64 +487,64 @@ class SerializerSelectorTest { @Test void selectCustomSerializerForField() { - var serializer = SELECTOR.select(comp(Z.class, "string")); + var serializer = SELECTOR.select(forField(Z.class, "string")); assertThat(serializer, instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForListsWithNesting0() { - var serializer = SELECTOR.select(comp(Z.class, "list1")); + var serializer = SELECTOR.select(forField(Z.class, "list1")); assertThat(serializer, instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForListsWithNesting1() { - var serializer = (ListSerializer) SELECTOR.select(comp(Z.class, "list2")); + var serializer = (ListSerializer) SELECTOR.select(forField(Z.class, "list2")); assertThat(serializer.getElementSerializer(), instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForListsWithNesting2() { - var serializer1 = (ListSerializer) SELECTOR.select(comp(Z.class, "list3")); + var serializer1 = (ListSerializer) SELECTOR.select(forField(Z.class, "list3")); var serializer2 = (SetAsListSerializer) serializer1.getElementSerializer(); assertThat(serializer2.getElementSerializer(), instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForSetsWithNesting0() { - var serializer = SELECTOR.select(comp(Z.class, "set1")); + var serializer = SELECTOR.select(forField(Z.class, "set1")); assertThat(serializer, instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForSetsWithNesting1() { - var serializer = (SetAsListSerializer) SELECTOR.select(comp(Z.class, "set2")); + var serializer = (SetAsListSerializer) SELECTOR.select(forField(Z.class, "set2")); assertThat(serializer.getElementSerializer(), instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForSetsWithNesting2() { - var serializer1 = (SetAsListSerializer) SELECTOR.select(comp(Z.class, "set3")); + var serializer1 = (SetAsListSerializer) SELECTOR.select(forField(Z.class, "set3")); var serializer2 = (ListSerializer) serializer1.getElementSerializer(); assertThat(serializer2.getElementSerializer(), instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForMapsWithNesting0() { - var serializer = SELECTOR.select(comp(Z.class, "map1")); + var serializer = SELECTOR.select(forField(Z.class, "map1")); assertThat(serializer, instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForMapsWithNesting1() { - var serializer = (MapSerializer) SELECTOR.select(comp(Z.class, "map2")); + var serializer = (MapSerializer) SELECTOR.select(forField(Z.class, "map2")); assertThat(serializer.getKeySerializer(), instanceOf(NumberSerializer.class)); assertThat(serializer.getValueSerializer(), instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForMapsWithNesting2() { - var serializer1 = (MapSerializer) SELECTOR.select(comp(Z.class, "map3")); + var serializer1 = (MapSerializer) SELECTOR.select(forField(Z.class, "map3")); var serializer2 = (MapSerializer) serializer1.getValueSerializer(); assertThat(serializer2.getKeySerializer(), instanceOf(StringSerializer.class)); assertThat(serializer2.getValueSerializer(), instanceOf(IdentitySerializer.class)); @@ -562,19 +552,19 @@ class SerializerSelectorTest { @Test void selectCustomSerializerForArraysWithNesting0() { - var serializer = SELECTOR.select(comp(Z.class, "array1")); + var serializer = SELECTOR.select(forField(Z.class, "array1")); assertThat(serializer, instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForArraysWithNesting1() { - var serializer = (ArraySerializer) SELECTOR.select(comp(Z.class, "array2")); + var serializer = (ArraySerializer) SELECTOR.select(forField(Z.class, "array2")); assertThat(serializer.getElementSerializer(), instanceOf(IdentitySerializer.class)); } @Test void selectCustomSerializerForArraysWithNesting2() { - var serializer1 = (ArraySerializer) SELECTOR.select(comp(Z.class, "array3")); + var serializer1 = (ArraySerializer) SELECTOR.select(forField(Z.class, "array3")); var serializer2 = (ArraySerializer) serializer1.getElementSerializer(); assertThat(serializer2.getElementSerializer(), instanceOf(IdentitySerializer.class)); } @@ -591,10 +581,10 @@ class SerializerSelectorTest { @SerializeWith(serializer = IdentitySerializer.class, nesting = 2) List list; } - assertThat(SELECTOR.select(comp(A.class, "s1")), instanceOf(StringSerializer.class)); - assertThat(SELECTOR.select(comp(A.class, "s2")), instanceOf(IdentitySerializer.class)); - assertThat(SELECTOR.select(comp(A.class, "s3")), instanceOf(StringSerializer.class)); - var serializer = (ListSerializer) SELECTOR.select(comp(A.class, "list")); + assertThat(SELECTOR.select(forField(A.class, "s1")), instanceOf(StringSerializer.class)); + assertThat(SELECTOR.select(forField(A.class, "s2")), instanceOf(IdentitySerializer.class)); + assertThat(SELECTOR.select(forField(A.class, "s3")), instanceOf(StringSerializer.class)); + var serializer = (ListSerializer) SELECTOR.select(forField(A.class, "list")); assertThat(serializer.getElementSerializer(), instanceOf(StringSerializer.class)); } }