Files
SwiftShell/Tests/StreamTests/FileHandle_Tests.swift
Kare Morstol fdf348859c Remove space before ( in function declarations.
I used to think it looked better for some reason.
2017-04-20 20:32:29 +02:00

49 lines
1.3 KiB
Swift
Executable File

//
// FileHandle_Tests.swift
// SwiftShell
//
// Created by Kåre Morstøl on 19/08/14.
// Copyright (c) 2014 NotTooBad Software. All rights reserved.
//
import SwiftShell
import XCTest
import Foundation
public class FileHandle_Tests: XCTestCase {
func testWriteAndReadSome() {
let pipe = Pipe()
let writer = pipe.fileHandleForWriting
let reader = pipe.fileHandleForReading
writer.write("line1")
XCTAssertEqual(reader.readSome(encoding: .utf8), "line1")
writer.write("line2")
XCTAssertEqual(reader.readSome(encoding: .utf8), "line2")
writer.closeFile()
XCTAssertNil(reader.readSome(encoding: .utf8))
XCTAssertNil(reader.readSome(encoding: .utf8), "Performing readSome() repeatedly on closed filehandle should return nil.")
XCTAssertEqual(reader.read(encoding: .utf8), "")
}
func testWriteAndRead() {
let pipe = Pipe()
let writer = pipe.fileHandleForWriting
let reader = pipe.fileHandleForReading
writer.write("line1")
writer.closeFile()
XCTAssertEqual(reader.read(encoding: .utf8), "line1")
XCTAssertEqual(reader.read(encoding: .utf8), "", "Performing read() repeatedly on closed filehandle should return empty string.")
}
}
extension FileHandle_Tests {
public static var allTests = [
("testWriteAndReadSome", testWriteAndReadSome),
("testWriteAndRead", testWriteAndRead),
]
}