chaokunyang commented on code in PR #2271:
URL: https://github.com/apache/fury/pull/2271#discussion_r2118613318


##########
java/fory-core/src/test/java/org/apache/fory/ForyTest.java:
##########
@@ -554,6 +561,163 @@ public void testRegisterPrivateSerializer() {
     serDeCheckSerializer(fory, obj, "Codec");
   }
 
+  static final class InvalidList extends AbstractList<Object> {
+    @Override
+    public Object get(int index) {
+      throw new IndexOutOfBoundsException();
+    }
+
+    @Override
+    public int size() {
+      return 0;
+    }
+
+    public static final class InvalidListSerializer extends 
Serializer<InvalidList> {
+      public InvalidListSerializer(Fory fory) {
+        super(fory, InvalidList.class);
+      }
+
+      @Override
+      public void write(MemoryBuffer buffer, InvalidList value) {
+        // no-op
+      }
+
+      @Override
+      public InvalidList read(MemoryBuffer buffer) {
+        return new InvalidList();
+      }
+    }
+  }
+
+  static final class ValidList extends AbstractList<Object> {
+    @Override
+    public Object get(int index) {
+      throw new IndexOutOfBoundsException();
+    }
+
+    @Override
+    public int size() {
+      return 0;
+    }
+
+    public static final class ValidListSerializer extends 
AbstractCollectionSerializer<ValidList> {
+      public ValidListSerializer(Fory fory) {
+        super(fory, ValidList.class);
+      }
+
+      @Override
+      public Collection<?> onCollectionWrite(MemoryBuffer buffer, ValidList 
value) {
+        return Collections.emptyList();
+      }
+
+      @Override
+      public ValidList read(MemoryBuffer buffer) {
+        return onCollectionRead(Collections.emptyList());
+      }
+
+      @Override
+      public ValidList onCollectionRead(Collection collection) {
+        return new ValidList();
+      }
+    }
+  }
+
+  static final class InvalidMap extends AbstractMap<Object, Object> {
+    @Override
+    public Set<Entry<Object, Object>> entrySet() {
+      return Collections.emptySet();
+    }
+
+    public static final class InvalidMapSerializer extends 
Serializer<InvalidMap> {
+      public InvalidMapSerializer(Fory fory) {
+        super(fory, InvalidMap.class);
+      }
+
+      @Override
+      public void write(MemoryBuffer buffer, InvalidMap value) {
+        // no-op
+      }
+
+      @Override
+      public InvalidMap read(MemoryBuffer buffer) {
+        return new InvalidMap();
+      }
+    }
+  }
+
+  static final class ValidMap extends AbstractMap<Object, Object> {
+    @Override
+    public Set<Entry<Object, Object>> entrySet() {
+      return Collections.emptySet();
+    }
+
+    public static final class ValidMapSerializer extends 
AbstractMapSerializer<ValidMap> {
+      public ValidMapSerializer(Fory fory) {
+        super(fory, ValidMap.class);
+      }
+
+      @Override
+      public Map<?, ?> onMapWrite(MemoryBuffer buffer, ValidMap value) {
+        return Collections.emptyMap();
+      }
+
+      @Override
+      public ValidMap onMapCopy(Map map) {
+        return new ValidMap();
+      }
+
+      @Override
+      public ValidMap read(MemoryBuffer buffer) {
+        return onMapRead(Collections.emptyMap());
+      }
+
+      @Override
+      public ValidMap onMapRead(Map map) {
+        return new ValidMap();
+      }
+    }
+  }
+
+  @Test
+  public void testListAndMapSerializerRegistration() {

Review Comment:
   Please add tests in ClassResolverTest.java



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to