Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.esotericsoftware.kryo;
- import java.io.Serializable;
- import java.lang.reflect.Array;
- import java.util.Arrays;
- public class PrivateInnerClassTest extends KryoTestCase {
- {
- supportsCopy = true;
- }
- public void testPrivateInnerClassArrays () throws Exception {
- kryo.setReferences(true);
- kryo.setRegistrationRequired(true);
- kryo.setAsmEnabled(true);
- // kryo.register(ConcreteClass.class);
- kryo.register(Class.forName("com.esotericsoftware.kryo.PrivateInnerClassTest$ConcreteClass"));
- kryo.register(Class.forName("com.esotericsoftware.kryo.PrivateInnerClassTest$ConcreteClass$Segment"));
- kryo.register(Array.newInstance(Class.forName("com.esotericsoftware.kryo.PrivateInnerClassTest$ConcreteClass$Segment"), 0)
- .getClass());
- ConcreteClass cc1 = new ConcreteClass();
- roundTrip(6, 9, cc1);
- }
- static public class ConcreteClass {
- private final Segment[] segments = new Segment[1];
- public ConcreteClass () {
- segments[0] = new Segment();
- }
- @Override
- public boolean equals (Object obj) {
- if (this == obj) return true;
- if (obj == null) return false;
- if (getClass() != obj.getClass()) return false;
- ConcreteClass other = (ConcreteClass)obj;
- if (!Arrays.equals(segments, other.segments)) return false;
- return true;
- }
- private static final class Segment {
- int field;
- Segment () {
- }
- @Override
- public boolean equals (Object obj) {
- if (this == obj) return true;
- if (obj == null) return false;
- if (getClass() != obj.getClass()) return false;
- Segment other = (Segment)obj;
- if (field != other.field) return false;
- return true;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement