         ]
         
         let plistEncoder = PropertyListEncoder()
+        let data = try! plistEncoder.encode(orderedDictionary)
+        
         let plistDecoder = PropertyListDecoder()
-        
-        let data = try! plistEncoder.encode(orderedDictionary)
         let actual = try! plistDecoder.decode(OrderedDictionary<String, Int>.self, from: data)
         
         let expected = orderedDictionary

        let actual = orderedDictionary
        let expected: OrderedDictionary<String, Int> = ["A": 1, "B": 2, "C": 3]
        
        XCTAssertTrue(actual == expected)
    }
    
    func testRemoveFirstNonEmpty() {

        let actual = orderedDictionary
        let expected: OrderedDictionary<String, Int> = ["B": 2, "C": 3, "D": 4]
        
        XCTAssertEqual(actual, expected)
    }
    
    func testRemoveLastNonEmpty() {
