From: <tho...@us...> - 2011-03-23 12:27:01
|
Revision: 4326 http://bigdata.svn.sourceforge.net/bigdata/?rev=4326&view=rev Author: thompsonbry Date: 2011-03-23 12:26:50 +0000 (Wed, 23 Mar 2011) Log Message: ----------- Bug fix for the ICUVersionRecord deserialization. Extension of the unit tests to correctly detect this problem. Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/keys/ICUVersionRecord.java branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/btree/keys/TestICUVersionRecord.java Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/keys/ICUVersionRecord.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/keys/ICUVersionRecord.java 2011-03-23 00:48:21 UTC (rev 4325) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/java/com/bigdata/btree/keys/ICUVersionRecord.java 2011-03-23 12:26:50 UTC (rev 4326) @@ -122,7 +122,7 @@ } - private ICUVersionRecord(// + ICUVersionRecord(// VersionInfo icuVersion,// VersionInfo ucolRuntimeVesion,// VersionInfo ucolBuilderVersion,// @@ -184,8 +184,8 @@ final int major = in.readInt(); final int minor = in.readInt(); + final int micro = in.readInt(); final int milli = in.readInt(); - final int micro = in.readInt(); return VersionInfo.getInstance(major, minor, milli, micro); @@ -246,6 +246,14 @@ System.out.println(ICUVersionRecord.newInstance().toString()); + final ICUVersionRecord a = ICUVersionRecord.newInstance(); + final ICUVersionRecord b = ICUVersionRecord.newInstance(); + + if(!a.equals(b)) + throw new AssertionError(); + if(!b.equals(a)) + throw new AssertionError(); + } } Modified: branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/btree/keys/TestICUVersionRecord.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/btree/keys/TestICUVersionRecord.java 2011-03-23 00:48:21 UTC (rev 4325) +++ branches/QUADS_QUERY_BRANCH/bigdata/src/test/com/bigdata/btree/keys/TestICUVersionRecord.java 2011-03-23 12:26:50 UTC (rev 4326) @@ -28,6 +28,7 @@ package com.bigdata.btree.keys; import com.bigdata.io.SerializerUtil; +import com.ibm.icu.util.VersionInfo; import junit.framework.TestCase2; @@ -67,4 +68,31 @@ } + public void test_roundTrip2() { + + final ICUVersionRecord r1 = new ICUVersionRecord( + VersionInfo.getInstance(3, 6, 2, 1),// + VersionInfo.getInstance(1, 8, 5, 7),// + VersionInfo.getInstance(6, 3, 1, 8),// + VersionInfo.getInstance(4, 6, 8, 12)// + ); + + final ICUVersionRecord r2 = new ICUVersionRecord( + VersionInfo.getInstance(3, 6, 2, 1),// + VersionInfo.getInstance(1, 8, 5, 7),// + VersionInfo.getInstance(6, 3, 1, 8),// + VersionInfo.getInstance(4, 6, 8, 12)// + ); + + assertTrue(r1.equals(r2)); + + assertFalse(r1.equals(ICUVersionRecord.newInstance())); + + final ICUVersionRecord r3 = (ICUVersionRecord) SerializerUtil + .deserialize(SerializerUtil.serialize(r1)); + + assertTrue(r1.equals(r3)); + + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |