0003-Added-unit-test-for-handling-binary-data-in-attachme.patch

L. Ziegler, 04/11/2014 03:37 PM

Download (2.64 KB)

View differences:

test/rsb/transport/XOPConverterTest.java
76 76
    }
77 77
    
78 78
    @Test
79
    public void testDeSerializeBinaryAttachment() throws ConversionException, SyntaxException {
80
        String xml1 = "<?xml version=\"1.0\"?>" + "<node1 attr1=\"val1\">"
81
                + "  <node2 attr2=\"val2\"/>" + "  <node3 attr3=\"val3\"/>"
82
                + "</node1>";
83
        long id = 156546546;
84
        XOP xop1 = new XOP(xml1, id);
85
        
86
        // create data
87
        float[] floatData = {0.0f,1.0f,2.0f};
88
        ByteBuffer bb = ByteBuffer.allocate(4 * floatData.length);
89
        for (int i = 0; i < floatData.length; i++) {
90
            bb.putFloat(floatData[i]);
91
        }
92
        
93
        rsb.transport.Attachment a1 = new rsb.transport.Attachment(bb, ByteBuffer.class);
94
        xop1.setAttachment("attachment", a1);
95
        
96
        WireContents<ByteBuffer> serializedData = converter.serialize(XOP.class, xop1);
97

  
98
        UserData<rst.xml.XOPType.XOP> deserializedUserData =
99
                converter.deserialize(
100
                serializedData.getWireSchema(),
101
                serializedData.getSerialization());
102

  
103
        assertTrue(deserializedUserData.getTypeInfo().equals(xop1.getClass()));
104

  
105
        XOP deserializedXOP = (XOP) deserializedUserData.getData();
106
        assertTrue(deserializedXOP.getID() == xop1.getID());
107
        assertTrue(deserializedXOP.getID() != 156546545);
108
        assertTrue(deserializedXOP.hasID());
109

  
110
        assertTrue(deserializedXOP.hasAttachment("attachment"));
111
        rsb.transport.Attachment a2 = deserializedXOP.getAttachment("attachment");
112

  
113
        ByteBuffer a1bb = (ByteBuffer) a1.getData();
114
        ByteBuffer a2bb = (ByteBuffer) a2.getData();
115
        assertTrue(a1bb.equals(a2bb));
116

  
117
        assertTrue(a1.equals(a2));
118
        assertTrue(deserializedXOP.equals(xop1));
119
    }
120
    
121
    @Test
79 122
    public void testDeSerializeUint64() throws ConversionException, SyntaxException {
80 123
        String xml1 = "<?xml version=\"1.0\"?>" + "<node1 attr1=\"val1\">"
81 124
                + "  <node2 attr2=\"val2\"/>" + "  <node3 attr3=\"val3\"/>"
82
-