     XCTAssertEqual(nil, queue.front)
   }
   
+  func testInitialisesWithNaturalOrdering() {
+    let queue = PriorityQueue<Int>(isOrdered: <)
+    
+    XCTAssertTrue(queue.isEmpty)
+    XCTAssertEqual(0, queue.count)
+    XCTAssertEqual(nil, queue.front)
+  }
+  
+  func testInitialisesWithNonNaturalOrdering() {
+    let queue = PriorityQueue<Int>(isOrdered: >)
+    
+    XCTAssertTrue(queue.isEmpty)
+    XCTAssertEqual(0, queue.count)
+    XCTAssertEqual(nil, queue.front)
+  }
+  
   func testInitialisesFromEmptyArrayLiteral() {
     let queue: PriorityQueue<Int> = []
     

    }
  }
  
  func testPopsElement() {
    var queue: PriorityQueue = [1]
    

  }
  
  func testPushesElement() {
    var queue = PriorityQueue<Int>()
    
    queue.enqueue(1)
    XCTAssertFalse(queue.isEmpty)
