         var info: String.EditingInfo?
         
         info = string.deleteLine(in: [NSRange(4, 1)])
-        XCTAssertEqual(info!.strings, [""])
-        XCTAssertEqual(info!.ranges, [NSRange(3, 5)])
-        XCTAssertEqual(info!.selectedRanges, [NSRange(3, 0)])
-        
-        info = string.deleteLine(in: [NSRange(4, 1), NSRange(6, 1), NSRange(10, 0)])!
-        XCTAssertEqual(info!.strings, ["", ""])
-        XCTAssertEqual(info!.ranges, [NSRange(3, 5), NSRange(8, 3)])
-        XCTAssertEqual(info!.selectedRanges, [NSRange(3, 0)])
+        XCTAssertEqual(info?.strings, [""])
+        XCTAssertEqual(info?.ranges, [NSRange(3, 5)])
+        XCTAssertEqual(info?.selectedRanges, [NSRange(3, 0)])
+        
+        info = string.deleteLine(in: [NSRange(4, 1), NSRange(6, 1), NSRange(10, 0)])
+        XCTAssertEqual(info?.strings, ["", ""])
+        XCTAssertEqual(info?.ranges, [NSRange(3, 5), NSRange(8, 3)])
+        XCTAssertEqual(info?.selectedRanges, [NSRange(3, 0)])
     }
 
 }

            """
        var info: String.EditingInfo?
        
        info = string.duplicateLine(in: [NSRange(4, 1)])!
        XCTAssertEqual(info!.strings, ["bbbb\n"])
        XCTAssertEqual(info!.ranges, [NSRange(3, 0)])
        XCTAssertEqual(info!.selectedRanges, [NSRange(9, 1)])
    }
    
    

        XCTAssertNil(info)
        
        info = string.reverseLines(in: string.nsRange)
        XCTAssertEqual(info?.strings, ["ccc\nbbbb\naa"])
        XCTAssertEqual(info?.ranges, [NSRange(0, 11)])
        XCTAssertEqual(info?.selectedRanges, [NSRange(0, 11)])
        
        info = string.reverseLines(in: NSRange(2, 4))
        XCTAssertEqual(info?.strings, ["bbbb\naa"])
        XCTAssertEqual(info?.ranges, [NSRange(0, 7)])
        XCTAssertEqual(info?.selectedRanges, [NSRange(0, 7)])
    }
    
    
