* @throws Exception \r
*/\r
@Test\r
- public void testWithElementsSet() throws Exception {\r
+ public void testWith4BitVersionBitmap() throws Exception {\r
+ int lengthOfBitmap = 4;\r
HelloInputBuilder builder = new HelloInputBuilder();\r
BufferHelper.setupHeader(builder);\r
- List<Elements> expectedElement = createElement();\r
+ List<Elements> expectedElement = createElement(lengthOfBitmap);\r
builder.setElements(expectedElement);\r
HelloInput message = builder.build();\r
\r
ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
HelloInputMessageFactory factory = HelloInputMessageFactory.getInstance();\r
factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
- LOGGER.info("bytebuf: " + ByteBufUtils.byteBufToHexString(out));\r
+ LOGGER.debug("bytebuf: " + ByteBufUtils.byteBufToHexString(out));\r
\r
BufferHelper.checkHeaderV13(out, factory.getMessageType(), factory.computeLength(message));\r
Elements element = readElement(out).get(0);\r
Assert.assertEquals("Wrong element type", expectedElement.get(0).getType(), element.getType());\r
- LOGGER.info(expectedElement.get(0).getVersionBitmap().toString());\r
- LOGGER.info(element.getVersionBitmap().toString());\r
- Assert.assertArrayEquals("Wrong element bitmap", expectedElement.get(0).getVersionBitmap().toArray(), element.getVersionBitmap().toArray());\r
+ Elements comparation = createComparationElement(lengthOfBitmap).get(0);\r
+ Assert.assertArrayEquals("Wrong element bitmap", comparation.getVersionBitmap().toArray(), element.getVersionBitmap().toArray());\r
}\r
\r
- private static List<Elements> createElement() {\r
+ /**\r
+ * Testing of {@link HelloInputMessageFactory} for correct translation from POJO\r
+ * @throws Exception \r
+ */\r
+ @Test\r
+ public void testWith64BitVersionBitmap() throws Exception {\r
+ int lengthOfBitmap = 64;\r
+ HelloInputBuilder builder = new HelloInputBuilder();\r
+ BufferHelper.setupHeader(builder);\r
+ List<Elements> expectedElement = createElement(lengthOfBitmap);\r
+ builder.setElements(expectedElement);\r
+ HelloInput message = builder.build();\r
+ \r
+ ByteBuf out = UnpooledByteBufAllocator.DEFAULT.buffer();\r
+ HelloInputMessageFactory factory = HelloInputMessageFactory.getInstance();\r
+ factory.messageToBuffer(HelloMessageFactoryTest.VERSION_YET_SUPPORTED, out, message);\r
+ LOGGER.debug("bytebuf: " + ByteBufUtils.byteBufToHexString(out));\r
+ \r
+ BufferHelper.checkHeaderV13(out, factory.getMessageType(), factory.computeLength(message));\r
+ Elements element = readElement(out).get(0);\r
+ Assert.assertEquals("Wrong element type", expectedElement.get(0).getType(), element.getType());\r
+ Elements comparation = createComparationElement(lengthOfBitmap).get(0);\r
+ Assert.assertArrayEquals("Wrong element bitmap", comparation.getVersionBitmap().toArray(), element.getVersionBitmap().toArray());\r
+ }\r
+ \r
+ private static List<Elements> createElement(int lengthOfBitmap) {\r
ElementsBuilder elementsBuilder = new ElementsBuilder();\r
List<Elements> elementsList = new ArrayList<>();\r
List<Boolean> booleanList = new ArrayList<>();\r
-\r
- for (int i = 0; i < 64; i++) {\r
+ for (int i = 0; i < lengthOfBitmap; i++) {\r
booleanList.add(true);\r
}\r
-\r
elementsBuilder.setType(HelloElementType.forValue(1));\r
elementsBuilder.setVersionBitmap(booleanList);\r
elementsList.add(elementsBuilder.build());\r
- \r
+ return elementsList;\r
+ }\r
+ \r
+ private static List<Elements> createComparationElement(int lengthOfBitmap) {\r
+ ElementsBuilder elementsBuilder = new ElementsBuilder();\r
+ List<Elements> elementsList = new ArrayList<>();\r
+ List<Boolean> booleanList = new ArrayList<>();\r
+ for (int i = 0; i < lengthOfBitmap; i++) {\r
+ booleanList.add(true);\r
+ }\r
+ if ((lengthOfBitmap % Integer.SIZE) != 0) {\r
+ for (int i = 0; i < (Integer.SIZE - (lengthOfBitmap % Integer.SIZE)); i++) {\r
+ booleanList.add(false);\r
+ }\r
+ }\r
+ LOGGER.debug("boolsize " + booleanList.size());\r
+ elementsBuilder.setType(HelloElementType.forValue(1));\r
+ elementsBuilder.setVersionBitmap(booleanList);\r
+ elementsList.add(elementsBuilder.build());\r
return elementsList;\r
}\r
\r
}\r
\r
private static List<Boolean> readVersionBitmap(int[] input){\r
- LOGGER.info("input.length: " + input.length);\r
List<Boolean> versionBitmapList = new ArrayList<>();\r
for (int i = 0; i < input.length; i++) {\r
int mask = input[i];\r
versionBitmapList.add((mask & (1<<j)) != 0);\r
}\r
}\r
- LOGGER.info("versionbitmaplist.size: " + versionBitmapList.size());\r
return versionBitmapList;\r
}\r
\r