@Test public void checkToByteArray() { final int k = 32; final ArrayOfLongsSerDe serDe = new ArrayOfLongsSerDe(); ItemsUnion<Long> union = ItemsUnion.getInstance(k, Comparator.naturalOrder()); byte[] bytesOut = union.toByteArray(serDe); Assert.assertEquals(bytesOut.length, 8); Assert.assertTrue(union.isEmpty()); final byte[] byteArr = buildIS(k, 2 * k + 5).toByteArray(serDe); final Memory mem = Memory.wrap(byteArr); union = ItemsUnion.getInstance(mem, Comparator.naturalOrder(), serDe); bytesOut = union.toByteArray(serDe); Assert.assertEquals(bytesOut.length, byteArr.length); Assert.assertEquals(bytesOut, byteArr); // assumes consistent internal use of toByteArray() }