public void testSerializationForAmortizedPQueue() { final AmortizedPQueue<String> initialPQueue = AmortizedPQueue.<String> empty() .plus(ELEMENT1) .plus(ELEMENT2) .plus(ELEMENT3); final byte[] serializedPQueue = serializeToByteArray(initialPQueue); assertNotNull(serializedPQueue); assertTrue(serializedPQueue.length > 0); @SuppressWarnings("unchecked") final AmortizedPQueue<String> deserializedPQueue = deserializeFromByteArray(serializedPQueue, AmortizedPQueue.class); assertNotNull(deserializedPQueue); assertEquals(3, deserializedPQueue.size()); assertNotSame(initialPQueue, deserializedPQueue); Object[] deserializedElements = deserializedPQueue.toArray(); assertEquals(ELEMENT1, deserializedElements[0]); assertEquals(ELEMENT2, deserializedElements[1]); assertEquals(ELEMENT3, deserializedElements[2]); }