From d8be79d51a2792b34214120d9f19137d2ea46c94 Mon Sep 17 00:00:00 2001 From: Tatu Saloranta Date: Sun, 26 Nov 2023 18:29:20 -0800 Subject: [PATCH] Minor tweaks to (failing) test for #4214 --- .../failing/EnumSetSerialization4214Test.java | 54 ++++++------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/src/test/java/com/fasterxml/jackson/failing/EnumSetSerialization4214Test.java b/src/test/java/com/fasterxml/jackson/failing/EnumSetSerialization4214Test.java index b93a9153a6..43630f833c 100644 --- a/src/test/java/com/fasterxml/jackson/failing/EnumSetSerialization4214Test.java +++ b/src/test/java/com/fasterxml/jackson/failing/EnumSetSerialization4214Test.java @@ -1,33 +1,23 @@ package com.fasterxml.jackson.failing; -import com.fasterxml.jackson.databind.BaseMapTest; -import com.fasterxml.jackson.databind.ObjectMapper; - import java.util.EnumSet; import java.util.Set; -import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; -import com.fasterxml.jackson.annotation.PropertyAccessor; -import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.BaseMapTest; +import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper.DefaultTyping; import com.fasterxml.jackson.databind.jsontype.BasicPolymorphicTypeValidator; +import com.google.common.base.Objects; -public class EnumSetSerialization4214Test extends BaseMapTest { - +// For [databind#4214] +public class EnumSetSerialization4214Test extends BaseMapTest +{ static enum MyEnum { ITEM_A, ITEM_B; } static class EnumSetHolder { - private Set enumSet; // use Set instead of EnumSet for type of this - - public Set getEnumSet() { - return enumSet; - } - - public void setEnumSet(Set enumSet) { - this.enumSet = enumSet; - } + public Set enumSet; // use Set instead of EnumSet for type of this @Override public boolean equals(Object o) { @@ -35,34 +25,24 @@ public boolean equals(Object o) { return false; } EnumSetHolder eh = (EnumSetHolder) o; - if (eh == this) { - return true; - } - if (enumSet == null) { - if (eh.getEnumSet() == null) { - return true; - } else { - return false; - } - } else { - if (eh.getEnumSet() == null) { - return false; - } - return enumSet.containsAll(eh.getEnumSet()); - } + return Objects.equal(enumSet, eh.enumSet); } } - public void testSerialization() throws Exception { + public void testSerialization() throws Exception + { ObjectMapper mapper = jsonMapperBuilder().build() // this type information is needed in json string, for this test .activateDefaultTyping(BasicPolymorphicTypeValidator.builder().allowIfBaseType(Object.class).build(), - DefaultTyping.EVERYTHING); + DefaultTyping.NON_FINAL_AND_ENUMS); EnumSetHolder enumSetHolder = new EnumSetHolder(); - enumSetHolder.setEnumSet(EnumSet.allOf(MyEnum.class)); - String jsonStr = mapper.writeValueAsString(enumSetHolder); - EnumSetHolder result = mapper.readValue(jsonStr, EnumSetHolder.class); + enumSetHolder.enumSet = EnumSet.allOf(MyEnum.class); + String json = mapper.writeValueAsString(enumSetHolder); + + //System.err.println("JSON = \n"+json); + + EnumSetHolder result = mapper.readValue(json, EnumSetHolder.class); assertEquals(result, enumSetHolder); } }