@Test public void testRandomPositiveInt() throws IOException { Random random = new Random(System.nanoTime()); ObjectInputOutput io = new ObjectInputOutput(); for (int i = 0; i < NR_RANDOM; ++i) { int v = random.nextInt(); if (v < 0) { v = -v; } io.reset(); MarshallUtil.marshallInt(io, v); Assert.assertEquals("Error for v=" + v, v, MarshallUtil.unmarshallInt(io)); } }
@Test public void testEnum() throws IOException { ObjectInputOutput io = new ObjectInputOutput(); MarshallUtil.marshallEnum(null, io); Assert.assertNull(MarshallUtil.unmarshallEnum(io, ordinal -> TestEnum.values()[ordinal])); Assert.assertEquals(0, io.buffer.size()); for (TestEnum e : TestEnum.values()) { io.reset(); MarshallUtil.marshallEnum(e, io); Assert.assertEquals( e, MarshallUtil.unmarshallEnum(io, ordinal -> TestEnum.values()[ordinal])); Assert.assertEquals(0, io.buffer.size()); } }
private static void checkNegativeInt(int i, ObjectInputOutput io) throws IOException { io.reset(); MarshallUtil.marshallInt(io, i); Assert.assertEquals("Error for i=" + i, 1, io.buffer.size()); Assert.assertEquals("Error for i=" + i, -1, MarshallUtil.unmarshallInt(io)); Assert.assertEquals("Error for i=" + i, 0, io.buffer.size()); }
private static void checkIntAndByteArray(int i, int bytesExpected, ObjectInputOutput io) throws IOException { io.reset(); MarshallUtil.marshallInt(io, i); Assert.assertEquals("Error for i=" + i, bytesExpected, io.buffer.size()); Assert.assertEquals("Error for i=" + i, i, MarshallUtil.unmarshallInt(io)); Assert.assertEquals("Error for i=" + i, 0, io.buffer.size()); }
@Test public void testByteArray() throws IOException, ClassNotFoundException { ObjectInputOutput io = new ObjectInputOutput(); MarshallUtil.marshallByteArray(null, io); Assert.assertNull(MarshallUtil.unmarshallByteArray(io)); Assert.assertEquals(0, io.buffer.size()); io.reset(); byte[] array = new byte[0]; MarshallUtil.marshallByteArray(array, io); Assert.assertTrue(Arrays.equals(array, MarshallUtil.unmarshallByteArray(io))); Assert.assertEquals(0, io.buffer.size()); io.reset(); array = new byte[] {1, 2, 3}; MarshallUtil.marshallByteArray(array, io); Assert.assertTrue(Arrays.equals(array, MarshallUtil.unmarshallByteArray(io))); Assert.assertEquals(0, io.buffer.size()); io.reset(); }
@Test public void testArray() throws IOException, ClassNotFoundException { ObjectInputOutput io = new ObjectInputOutput(); MarshallUtil.marshallArray(null, io); Assert.assertNull(MarshallUtil.unmarshallArray(io, null)); Assert.assertEquals(0, io.buffer.size()); io.reset(); String[] array = new String[0]; MarshallUtil.marshallArray(array, io); Assert.assertTrue(Arrays.equals(array, MarshallUtil.unmarshallArray(io, String[]::new))); Assert.assertEquals(0, io.buffer.size()); io.reset(); array = new String[] {"a", "b", "c"}; MarshallUtil.marshallArray(array, io); Assert.assertTrue(Arrays.equals(array, MarshallUtil.unmarshallArray(io, String[]::new))); Assert.assertEquals(0, io.buffer.size()); io.reset(); }
@Test public void testUUID() throws IOException { ObjectInputOutput io = new ObjectInputOutput(); MarshallUtil.marshallUUID(null, io, true); Assert.assertNull(MarshallUtil.unmarshallUUID(io, true)); Assert.assertEquals(0, io.buffer.size()); for (int i = 0; i < NR_RANDOM; ++i) { io.reset(); UUID uuid = UUID.randomUUID(); MarshallUtil.marshallUUID(uuid, io, false); Assert.assertEquals(uuid, MarshallUtil.unmarshallUUID(io, false)); Assert.assertEquals(0, io.buffer.size()); } for (int i = 0; i < NR_RANDOM; ++i) { io.reset(); UUID uuid = UUID.randomUUID(); MarshallUtil.marshallUUID(uuid, io, true); Assert.assertEquals(uuid, MarshallUtil.unmarshallUUID(io, true)); Assert.assertEquals(0, io.buffer.size()); } }