You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2008/03/16 01:26:56 UTC
svn commit: r637495 - in /commons/proper/collections/trunk/src:
java/org/apache/commons/collections/buffer/
test/org/apache/commons/collections/
test/org/apache/commons/collections/buffer/
Author: bayard
Date: Sat Mar 15 17:26:44 2008
New Revision: 637495
URL: http://svn.apache.org/viewvc?rev=637495&view=rev
Log:
Applying a unit test for COLLECTIONS-220. AbstractTestObject is refactored to provide a utility method that serializes and then deserializes. Dave Meikle's fix for said unit test is also applied.
Modified:
commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/UnboundedFifoBuffer.java
commons/proper/collections/trunk/src/test/org/apache/commons/collections/AbstractTestObject.java
commons/proper/collections/trunk/src/test/org/apache/commons/collections/buffer/TestUnboundedFifoBuffer.java
Modified: commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/UnboundedFifoBuffer.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/UnboundedFifoBuffer.java?rev=637495&r1=637494&r2=637495&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/UnboundedFifoBuffer.java (original)
+++ commons/proper/collections/trunk/src/java/org/apache/commons/collections/buffer/UnboundedFifoBuffer.java Sat Mar 15 17:26:44 2008
@@ -115,6 +115,7 @@
private void writeObject(ObjectOutputStream out) throws IOException {
out.defaultWriteObject();
out.writeInt(size());
+ out.writeInt(buffer.length);
for (Iterator it = iterator(); it.hasNext();) {
out.writeObject(it.next());
}
@@ -130,7 +131,8 @@
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
in.defaultReadObject();
int size = in.readInt();
- buffer = new Object[size + 1];
+ int length = in.readInt();
+ buffer = new Object[length];
for (int i = 0; i < size; i++) {
buffer[i] = in.readObject();
}
Modified: commons/proper/collections/trunk/src/test/org/apache/commons/collections/AbstractTestObject.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/test/org/apache/commons/collections/AbstractTestObject.java?rev=637495&r1=637494&r2=637495&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/test/org/apache/commons/collections/AbstractTestObject.java (original)
+++ commons/proper/collections/trunk/src/test/org/apache/commons/collections/AbstractTestObject.java Sat Mar 15 17:26:44 2008
@@ -138,17 +138,23 @@
}
}
+ protected Object serializeDeserialize(Object obj) throws Exception {
+ ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+ ObjectOutputStream out = new ObjectOutputStream(buffer);
+ out.writeObject(obj);
+ out.close();
+
+ ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray()));
+ Object dest = in.readObject();
+ in.close();
+
+ return dest;
+ }
+
public void testSerializeDeserializeThenCompare() throws Exception {
Object obj = makeObject();
if (obj instanceof Serializable && isTestSerialization()) {
- ByteArrayOutputStream buffer = new ByteArrayOutputStream();
- ObjectOutputStream out = new ObjectOutputStream(buffer);
- out.writeObject(obj);
- out.close();
-
- ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(buffer.toByteArray()));
- Object dest = in.readObject();
- in.close();
+ Object dest = serializeDeserialize(obj);
if (isEqualsCheckable()) {
assertEquals("obj != deserialize(serialize(obj))", obj, dest);
}
Modified: commons/proper/collections/trunk/src/test/org/apache/commons/collections/buffer/TestUnboundedFifoBuffer.java
URL: http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/test/org/apache/commons/collections/buffer/TestUnboundedFifoBuffer.java?rev=637495&r1=637494&r2=637495&view=diff
==============================================================================
--- commons/proper/collections/trunk/src/test/org/apache/commons/collections/buffer/TestUnboundedFifoBuffer.java (original)
+++ commons/proper/collections/trunk/src/test/org/apache/commons/collections/buffer/TestUnboundedFifoBuffer.java Sat Mar 15 17:26:44 2008
@@ -413,6 +413,17 @@
}
//-----------------------------------------------------------------------
+ public void testCollections220() throws Exception {
+ UnboundedFifoBuffer buffer = new UnboundedFifoBuffer();
+
+ buffer = (UnboundedFifoBuffer) serializeDeserialize(buffer);
+
+ // test size() gets incremented
+ buffer.add("Foo");
+ assertEquals(1, buffer.size());
+ }
+
+ //-----------------------------------------------------------------------
public String getCompatibilityVersion() {
return "3.1";
}