+
+ @Test
+ public void testDeSerializeBinaryType() {
+ NormalizedNodeMessages.Node.Builder nodeBuilder = NormalizedNodeMessages.Node.newBuilder();
+ nodeBuilder.setIntValueType(ValueType.BINARY_TYPE.ordinal());
+ byte[] bytes = new byte[] {1,2,3,4};
+ nodeBuilder.setBytesValue(ByteString.copyFrom(bytes));
+
+ Object value = ValueSerializer.deSerialize(mock(QNameDeSerializationContext.class),nodeBuilder.build());
+
+ assertTrue("not a byte array", value instanceof byte[]);
+ assertTrue("bytes value does not match" , Arrays.equals(bytes, (byte[]) value));
+
+ NormalizedNodeMessages.PathArgumentAttribute.Builder argumentBuilder =
+ NormalizedNodeMessages.PathArgumentAttribute.newBuilder();
+ argumentBuilder.setType(ValueType.BINARY_TYPE.ordinal());
+ argumentBuilder.setBytesValue(ByteString.copyFrom(bytes));
+
+ value = ValueSerializer.deSerialize(mock(QNameDeSerializationContext.class), argumentBuilder.build());
+
+ assertTrue("not a byte array", value instanceof byte[]);
+ assertTrue("bytes value does not match" ,Arrays.equals(bytes, (byte[]) value));
+
+
+ }
+
+ @Test
+ public void testDeSerializeNullType() {
+ NormalizedNodeMessages.Node.Builder nodeBuilder = NormalizedNodeMessages.Node.newBuilder();
+ nodeBuilder.setIntValueType(ValueType.NULL_TYPE.ordinal());
+ nodeBuilder.setValue("");
+
+ Object value = ValueSerializer
+ .deSerialize(mock(QNameDeSerializationContext.class),
+ nodeBuilder.build());
+
+ assertEquals(null, value);
+
+ NormalizedNodeMessages.PathArgumentAttribute.Builder argumentBuilder
+ = NormalizedNodeMessages.PathArgumentAttribute.newBuilder();
+
+ argumentBuilder.setType(ValueType.NULL_TYPE.ordinal());
+ argumentBuilder.setValue("");
+
+ value = ValueSerializer
+ .deSerialize(mock(QNameDeSerializationContext.class),
+ argumentBuilder.build());
+
+ assertEquals(null, value);
+
+ }