01: /*
02: * All content copyright (c) 2003-2007 Terracotta, Inc., except as may otherwise be noted in a separate copyright
03: * notice. All rights reserved.
04: */
05: package com.tc.l2.msg;
06:
07: import com.tc.object.ObjectID;
08: import com.tc.util.ObjectIDSet2;
09:
10: import java.io.ByteArrayInputStream;
11: import java.io.ByteArrayOutputStream;
12: import java.io.ObjectInput;
13: import java.io.ObjectInputStream;
14: import java.io.ObjectOutput;
15: import java.io.ObjectOutputStream;
16: import java.util.Iterator;
17: import java.util.Set;
18:
19: import junit.framework.TestCase;
20:
21: public class ObjectListSyncMessageTest extends TestCase {
22: private ObjectListSyncMessage objectListSyncMessage;
23: private Set oids;
24:
25: public void setUp() {
26: objectListSyncMessage = new ObjectListSyncMessage();
27: oids = new ObjectIDSet2();
28: oids.add(new ObjectID(1234));
29: oids.add(new ObjectID(456));
30: oids.add(new ObjectID(9068));
31: }
32:
33: public void tearDown() {
34: objectListSyncMessage = null;
35: oids = null;
36: }
37:
38: private void validate(ObjectListSyncMessage olsm,
39: ObjectListSyncMessage olsm1) {
40: assertEquals(olsm.getType(), olsm1.getType());
41: assertEquals(olsm.getMessageID(), olsm1.getMessageID());
42: assertEquals(olsm.inResponseTo(), olsm1.inResponseTo());
43: assertEquals(olsm.messageFrom(), olsm1.messageFrom());
44:
45: if (olsm.getType() == ObjectListSyncMessage.RESPONSE) {
46: assertEquals(olsm.getObjectIDs().size(), olsm1
47: .getObjectIDs().size());
48:
49: Iterator iter1 = olsm1.getObjectIDs().iterator();
50: for (Iterator iter = olsm.getObjectIDs().iterator(); iter
51: .hasNext();) {
52: assertEquals(iter.next(), iter1.next());
53: }
54: } else {
55: assertEquals(olsm.toString(), olsm1.toString());
56: }
57: }
58:
59: private ObjectListSyncMessage writeAndRead(
60: ObjectListSyncMessage olsm) throws Exception {
61: ByteArrayOutputStream bo = new ByteArrayOutputStream();
62: ObjectOutput oo = new ObjectOutputStream(bo);
63: oo.writeObject(olsm);
64: System.err.println("Written : " + olsm);
65: ByteArrayInputStream bi = new ByteArrayInputStream(bo
66: .toByteArray());
67: ObjectInput oi = new ObjectInputStream(bi);
68: ObjectListSyncMessage olsm1 = (ObjectListSyncMessage) oi
69: .readObject();
70: System.err.println("Read : " + olsm1);
71: return olsm1;
72: }
73:
74: public void testBasicSerialization() throws Exception {
75: ObjectListSyncMessage olsm = (ObjectListSyncMessage) ObjectListSyncMessageFactory
76: .createObjectListSyncRequestMessage();
77: ObjectListSyncMessage olsm1 = writeAndRead(olsm);
78: validate(olsm, olsm1);
79:
80: olsm = (ObjectListSyncMessage) ObjectListSyncMessageFactory
81: .createObjectListSyncResponseMessage(
82: objectListSyncMessage, oids);
83: olsm1 = writeAndRead(olsm);
84: validate(olsm, olsm1);
85: }
86: }
|