From 1ca329e7f9795ae8256f010b94742417db6d4a55 Mon Sep 17 00:00:00 2001 From: rjfwhite Date: Mon, 11 Nov 2013 12:34:21 +0000 Subject: SI-7568 Adding PriorityQueueTest --- .../junit/scala/collection/PriorityQueueTest.scala | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/junit/scala/collection/PriorityQueueTest.scala diff --git a/test/junit/scala/collection/PriorityQueueTest.scala b/test/junit/scala/collection/PriorityQueueTest.scala new file mode 100644 index 0000000000..a14f1bf4c8 --- /dev/null +++ b/test/junit/scala/collection/PriorityQueueTest.scala @@ -0,0 +1,32 @@ +package scala.collection.mutable + +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 +import org.junit.Test +import scala.collection.mutable +import java.io.{ObjectInputStream, ByteArrayInputStream, ByteArrayOutputStream, ObjectOutputStream} + +@RunWith(classOf[JUnit4]) +/* Test for SI-7568 */ +class PriorityQueueTest { + val priorityQueue = new mutable.PriorityQueue[Int]() + val elements = List.fill(1000)(scala.util.Random.nextInt(Int.MaxValue)) + priorityQueue.enqueue(elements :_*) + + @Test + def canSerialize() { + val outputStream = new ByteArrayOutputStream() + new ObjectOutputStream(outputStream).writeObject(priorityQueue) + } + + @Test + def maintainsStateWhenDeserialized() { + val outputStream = new ByteArrayOutputStream() + new ObjectOutputStream(outputStream).writeObject(priorityQueue) + val bytes = outputStream.toByteArray + + val objectInputStream = new ObjectInputStream(new ByteArrayInputStream(bytes)) + val deserializedPriorityQueue = objectInputStream.readObject().asInstanceOf[PriorityQueue[Int]] + assert(deserializedPriorityQueue.dequeueAll == elements.sorted.reverse) + } +} -- cgit v1.2.3