Working Priority Queue using a min heap + unit tests