From 2f403c7b26fa056cd1bd807d3c330d5731e61193 Mon Sep 17 00:00:00 2001 From: Tumi Date: Wed, 20 Aug 2014 00:44:38 +0200 Subject: [PATCH] Unit tests for DateSerializer and LocaleSerializer --- .../kryo/DefaultSerializersTest.java | 35 ++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/test/com/esotericsoftware/kryo/DefaultSerializersTest.java b/test/com/esotericsoftware/kryo/DefaultSerializersTest.java index 13ee41a14..3232d447c 100644 --- a/test/com/esotericsoftware/kryo/DefaultSerializersTest.java +++ b/test/com/esotericsoftware/kryo/DefaultSerializersTest.java @@ -12,6 +12,7 @@ import com.esotericsoftware.kryo.io.Input; import com.esotericsoftware.kryo.io.Output; +import java.util.Locale; /** @author Nathan Sweet */ public class DefaultSerializersTest extends KryoTestCase { @@ -155,6 +156,27 @@ public void testDateSerializer () { roundTrip(2, 9, new Date(0)); roundTrip(4, 9, new Date(1234567)); roundTrip(10, 9, new Date(-1234567)); + + kryo.register(java.sql.Date.class); + roundTrip(10, 9, new java.sql.Date(Long.MIN_VALUE)); + roundTrip(2, 9, new java.sql.Date(0)); + roundTrip(4, 9, new java.sql.Date(1234567)); + roundTrip(10, 9, new java.sql.Date(Long.MAX_VALUE)); + roundTrip(10, 9, new java.sql.Date(-1234567)); + + kryo.register(java.sql.Time.class); + roundTrip(10, 9, new java.sql.Time(Long.MIN_VALUE)); + roundTrip(2, 9, new java.sql.Time(0)); + roundTrip(4, 9, new java.sql.Time(1234567)); + roundTrip(10, 9, new java.sql.Time(Long.MAX_VALUE)); + roundTrip(10, 9, new java.sql.Time(-1234567)); + + kryo.register(java.sql.Timestamp.class); + roundTrip(10, 9, new java.sql.Timestamp(Long.MIN_VALUE)); + roundTrip(2, 9, new java.sql.Timestamp(0)); + roundTrip(4, 9, new java.sql.Timestamp(1234567)); + roundTrip(10, 9, new java.sql.Timestamp(Long.MAX_VALUE)); + roundTrip(10, 9, new java.sql.Timestamp(-1234567)); } public void testBigDecimalSerializer () { @@ -278,6 +300,17 @@ public void testClassSerializer() { assertEquals(ArrayList.class, kryo.readObject(in, Class.class)); assertEquals(TestEnum.class, kryo.readObject(in, Class.class)); } + + public void testLocaleSerializer () { + kryo.setRegistrationRequired(true); + kryo.register(Locale.class); + + roundTrip(5, 5, Locale.ENGLISH); + roundTrip(6, 6, Locale.US); + roundTrip(6, 6, Locale.SIMPLIFIED_CHINESE); + roundTrip(5, 5, new Locale("es")); + roundTrip(16, 16, new Locale("es", "ES", "áéíóú")); + } public enum TestEnum { a, b, c @@ -291,4 +324,4 @@ public enum TestEnumWithMethods { c { } } -} +} \ No newline at end of file