From d2ff7283a918de9d95804675b3f69124fca77ac9 Mon Sep 17 00:00:00 2001 From: Leon Ziegler Date: Fri, 11 Apr 2014 15:27:29 +0200 Subject: [PATCH 3/7] Added unit test for handling binary data in attachments. --- test/rsb/transport/XOPConverterTest.java | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/test/rsb/transport/XOPConverterTest.java b/test/rsb/transport/XOPConverterTest.java index 780142d..d4d739d 100644 --- a/test/rsb/transport/XOPConverterTest.java +++ b/test/rsb/transport/XOPConverterTest.java @@ -76,6 +76,49 @@ public class XOPConverterTest { } @Test + public void testDeSerializeBinaryAttachment() throws ConversionException, SyntaxException { + String xml1 = "" + "" + + " " + " " + + ""; + long id = 156546546; + XOP xop1 = new XOP(xml1, id); + + // create data + float[] floatData = {0.0f,1.0f,2.0f}; + ByteBuffer bb = ByteBuffer.allocate(4 * floatData.length); + for (int i = 0; i < floatData.length; i++) { + bb.putFloat(floatData[i]); + } + + rsb.transport.Attachment a1 = new rsb.transport.Attachment(bb, ByteBuffer.class); + xop1.setAttachment("attachment", a1); + + WireContents serializedData = converter.serialize(XOP.class, xop1); + + UserData deserializedUserData = + converter.deserialize( + serializedData.getWireSchema(), + serializedData.getSerialization()); + + assertTrue(deserializedUserData.getTypeInfo().equals(xop1.getClass())); + + XOP deserializedXOP = (XOP) deserializedUserData.getData(); + assertTrue(deserializedXOP.getID() == xop1.getID()); + assertTrue(deserializedXOP.getID() != 156546545); + assertTrue(deserializedXOP.hasID()); + + assertTrue(deserializedXOP.hasAttachment("attachment")); + rsb.transport.Attachment a2 = deserializedXOP.getAttachment("attachment"); + + ByteBuffer a1bb = (ByteBuffer) a1.getData(); + ByteBuffer a2bb = (ByteBuffer) a2.getData(); + assertTrue(a1bb.equals(a2bb)); + + assertTrue(a1.equals(a2)); + assertTrue(deserializedXOP.equals(xop1)); + } + + @Test public void testDeSerializeUint64() throws ConversionException, SyntaxException { String xml1 = "" + "" + " " + " " -- 1.7.9.5