From 2e3c1d96e3560c2de1938e045ecc15dfe55d3d4f Mon Sep 17 00:00:00 2001 From: Ernesto Corbellini <ecorbellini@ekumenlabs.com> Date: Wed, 11 Apr 2018 13:22:30 -0300 Subject: [PATCH] Add tests for incomplete initialization and string arrays. --- .../message/RawMessageSerializationTest.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/message_generation/src/test/java/org/ros/internal/message/RawMessageSerializationTest.java b/message_generation/src/test/java/org/ros/internal/message/RawMessageSerializationTest.java index 529bb61..aa131b9 100644 --- a/message_generation/src/test/java/org/ros/internal/message/RawMessageSerializationTest.java +++ b/message_generation/src/test/java/org/ros/internal/message/RawMessageSerializationTest.java @@ -19,6 +19,7 @@ package org.ros.internal.message; import static org.junit.Assert.assertTrue; import com.google.common.collect.Lists; +import java.util.Arrays; import org.jboss.netty.buffer.ChannelBuffer; import org.junit.Before; @@ -277,6 +278,16 @@ public class RawMessageSerializationTest { checkSerializeAndDeserialize(rawMessage); } + @Test + public void testChannelBufferFixedSizeWithIncompleteInitialization() { + topicDefinitionResourceProvider.add("foo/foo", "uint8[5] data"); + ChannelBuffer buffer = MessageBuffers.dynamicBuffer(); + buffer.writeBytes(new byte[] { 1, 2, 3 }); + RawMessage rawMessage = messageFactory.newFromType("foo/foo"); + rawMessage.setChannelBuffer("data", buffer); + checkSerializeAndDeserialize(rawMessage); + } + @Test public void testChannelBufferFixedSizeNoInitialization() { topicDefinitionResourceProvider.add("foo/foo", "uint8[5] data"); @@ -294,6 +305,14 @@ public class RawMessageSerializationTest { checkSerializeAndDeserialize(rawMessage); } + @Test + public void testInt32FixedSizeArrayWithIncompleteInitialization() { + topicDefinitionResourceProvider.add("foo/foo", "int32[5] data"); + RawMessage rawMessage = messageFactory.newFromType("foo/foo"); + rawMessage.setInt32Array("data", new int[] { 1, 2, 3 }); + checkSerializeAndDeserialize(rawMessage); + } + @Test public void testInt32FixedSizeArrayNoInitialization() { topicDefinitionResourceProvider.add("foo/foo", "int32[5] data"); @@ -308,6 +327,14 @@ public class RawMessageSerializationTest { rawMessage.setFloat64Array("data", new double[] { 1, 2, 3, 4, 5 }); checkSerializeAndDeserialize(rawMessage); } + + @Test + public void testFloat64FixedSizeArrayWithIncompleteInitialization() { + topicDefinitionResourceProvider.add("foo/foo", "float64[5] data"); + RawMessage rawMessage = messageFactory.newFromType("foo/foo"); + rawMessage.setFloat64Array("data", new double[] { 1, 2, 3 }); + checkSerializeAndDeserialize(rawMessage); + } @Test public void testFloat64FixedSizeArrayNoInitialization() { @@ -315,4 +342,29 @@ public class RawMessageSerializationTest { RawMessage rawMessage = messageFactory.newFromType("foo/foo"); checkSerializeAndDeserialize(rawMessage); } + + @Test + public void testStringFixedSizeArrayWithInitialization() { + topicDefinitionResourceProvider.add("foo/foo", "string[5] data"); + RawMessage rawMessage = messageFactory.newFromType("foo/foo"); + String[] stringArray = new String[] { "String 1", "String 2", "String 3", "String 4", "String 5" }; + rawMessage.setStringList("data", Arrays.asList(stringArray)); + checkSerializeAndDeserialize(rawMessage); + } + + @Test + public void testStringFixedSizeArrayWithIncompleteInitialization() { + topicDefinitionResourceProvider.add("foo/foo", "string[5] data"); + RawMessage rawMessage = messageFactory.newFromType("foo/foo"); + String[] stringArray = new String[] { "String 1", "String 2", "String 3" }; + rawMessage.setStringList("data", Arrays.asList(stringArray)); + checkSerializeAndDeserialize(rawMessage); + } + + @Test + public void testStringFixedSizeArrayWithNoInitialization() { + topicDefinitionResourceProvider.add("foo/foo", "string[5] data"); + RawMessage rawMessage = messageFactory.newFromType("foo/foo"); + checkSerializeAndDeserialize(rawMessage); + } } -- GitLab