Skip to content

Commit 5889938

Browse files
author
Mr14huashao
committed
Add some test case for kryo
1 parent 6314632 commit 5889938

File tree

6 files changed

+87
-0
lines changed

6 files changed

+87
-0
lines changed

test/com/esotericsoftware/kryo/CopyTest.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import java.util.ArrayList;
2525

26+
import com.esotericsoftware.kryo.serializers.FieldSerializer;
2627
import org.junit.Before;
2728
import org.junit.Test;
2829

@@ -163,4 +164,39 @@ public void testShallow () {
163164
public static class Moo {
164165
Moo moo;
165166
}
167+
168+
@Test
169+
public void testCopyShallow(){
170+
final Kryo kryo = new Kryo();
171+
kryo.register(CopyData.class);
172+
final CopyData copyData = new CopyData();
173+
copyData.setCustomNote(true);
174+
copyData.setCid(199);
175+
final Serializer copySerializer = new FieldSerializer(kryo, CopyData.class);
176+
final CopyData serializerCopy = kryo.copyShallow(copyData,copySerializer);
177+
final CopyData copy = kryo.copyShallow(copyData);
178+
assertEquals(copy.getCustomNote(),serializerCopy.getCustomNote());
179+
assertEquals(copy.getCid(),serializerCopy.getCid());
180+
}
181+
182+
static class CopyData {
183+
private Integer cid = 1;
184+
private Boolean customNote = true;
185+
186+
public void setCid(Integer cid) {
187+
this.cid = cid;
188+
}
189+
190+
public int getCid() {
191+
return this.cid;
192+
}
193+
194+
public void setCustomNote(Boolean customNote) {
195+
this.customNote = customNote;
196+
}
197+
198+
public Boolean getCustomNote() {
199+
return this.customNote;
200+
}
201+
}
166202
}

test/com/esotericsoftware/kryo/RegistrationTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,15 @@ public void testDefaultSerializerOrder () {
4040
assertSame(appleSerializer, kryo.getDefaultSerializer(Apple.class));
4141
}
4242

43+
@Test
44+
public void testDefaultSerializerBuild () {
45+
final Kryo kryo = new Kryo();
46+
kryo.addDefaultSerializer(Fruit.class, new SerializerFactory.FieldSerializerFactory());
47+
final FieldSerializer appleSerializer = new FieldSerializer(kryo, Apple.class);
48+
kryo.addDefaultSerializer(Apple.class, appleSerializer);
49+
assertSame(appleSerializer, kryo.getDefaultSerializer(Apple.class));
50+
}
51+
4352
@Test
4453
public void testReplaceRegistration () throws IOException {
4554
Kryo kryo = new Kryo();

test/com/esotericsoftware/kryo/serializers/CompatibleFieldSerializerTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,15 @@ public int hashCode () {
654654
}
655655
}
656656

657+
@Test
658+
public void testCompatibleFieldSerializerFactoryBuild() {
659+
final SerializerFactory.CompatibleFieldSerializerFactory factory = new SerializerFactory.CompatibleFieldSerializerFactory();
660+
factory.getConfig().setExtendedFieldNames(true);
661+
final SerializerFactory.CompatibleFieldSerializerFactory factoryBuild = new SerializerFactory.CompatibleFieldSerializerFactory(factory.getConfig());
662+
663+
assertEquals(factory.getConfig().extendedFieldNames,factoryBuild.getConfig().extendedFieldNames);
664+
}
665+
657666
@Test
658667
public void testExtendedFieldNamesDefault() throws IOException {
659668
final ClassWithDuplicateField duplicateField = new ClassWithDuplicateField();

test/com/esotericsoftware/kryo/serializers/FieldSerializerTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -530,6 +530,15 @@ public void testTransientsUsingGlobalConfig () {
530530
assertEquals("Objects should be equal if copy includes transient fields", objectWithTransients2, objectWithTransients1);
531531
}
532532

533+
@Test
534+
public void testFieldSerializerFactoryBuild() {
535+
final FieldSerializerFactory factory = new FieldSerializerFactory();
536+
factory.getConfig().setCopyTransient(false);
537+
final FieldSerializerFactory factoryBuild = new FieldSerializerFactory(factory.getConfig());
538+
539+
assertEquals(factory.getConfig().copyTransient,factoryBuild.getConfig().copyTransient);
540+
}
541+
533542
@Test
534543
public void testSerializeTransients () {
535544
kryo.register(HasTransients.class);

test/com/esotericsoftware/kryo/serializers/TaggedFieldSerializerTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import com.esotericsoftware.kryo.Kryo;
2525
import com.esotericsoftware.kryo.KryoTestCase;
26+
import com.esotericsoftware.kryo.SerializerFactory;
2627
import com.esotericsoftware.kryo.SerializerFactory.TaggedFieldSerializerFactory;
2728
import com.esotericsoftware.kryo.io.Input;
2829
import com.esotericsoftware.kryo.io.Output;
@@ -156,6 +157,17 @@ public void testInvalidTagValue () {
156157
assertTrue(receivedIAE);
157158
}
158159

160+
@Test
161+
public void testTaggedFieldSerializerFactoryBuild() {
162+
final SerializerFactory.TaggedFieldSerializerFactory factory = new SerializerFactory.TaggedFieldSerializerFactory();
163+
factory.getConfig().setReadUnknownTagData(true);
164+
factory.getConfig().setChunkSize(1024);
165+
final SerializerFactory.TaggedFieldSerializerFactory factoryBuild = new SerializerFactory.TaggedFieldSerializerFactory(factory.getConfig());
166+
167+
assertEquals(factory.getConfig().readUnknownTagData,factoryBuild.getConfig().readUnknownTagData);
168+
assertEquals(factory.getConfig().chunkSize,factoryBuild.getConfig().chunkSize);
169+
}
170+
159171
public static class TestClass {
160172
@Tag(0) public String text = "something";
161173
@Tag(1) public int moo = 120;

test/com/esotericsoftware/kryo/serializers/VersionedFieldSerializerTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import static org.junit.Assert.*;
2323

2424
import com.esotericsoftware.kryo.KryoTestCase;
25+
import com.esotericsoftware.kryo.SerializerFactory;
2526
import com.esotericsoftware.kryo.serializers.VersionFieldSerializer.Since;
2627

2728
import org.junit.Test;
@@ -31,6 +32,17 @@ public class VersionedFieldSerializerTest extends KryoTestCase {
3132
supportsCopy = true;
3233
}
3334

35+
@Test
36+
public void testVersionFieldSerializerFactoryBuild() {
37+
final SerializerFactory.VersionFieldSerializerFactory factory = new SerializerFactory.VersionFieldSerializerFactory();
38+
factory.getConfig().setFieldsCanBeNull(false);
39+
factory.getConfig().setFieldsAsAccessible(false);
40+
final SerializerFactory.VersionFieldSerializerFactory factoryBuild = new SerializerFactory.VersionFieldSerializerFactory(factory.getConfig());
41+
42+
assertEquals(factory.getConfig().fieldsCanBeNull,factoryBuild.getConfig().fieldsCanBeNull);
43+
assertEquals(factory.getConfig().getSetFieldsAsAccessible(),factoryBuild.getConfig().getSetFieldsAsAccessible());
44+
}
45+
3446
@Test
3547
public void testVersionFieldSerializer () {
3648
TestClass object1 = new TestClass();

0 commit comments

Comments
 (0)