Files
SwiftShell/SwiftShellTests/Stream_Tests.swift
T
2015-10-07 20:09:13 +02:00

66 lines
1.2 KiB
Swift

//
// Stream_Tests.swift
// SwiftShell
//
// Created by Kåre Morstøl on 21/08/14.
// Copyright (c) 2014 NotTooBad Software. All rights reserved.
//
import SwiftShell
import XCTest
class Stream_Tests: XCTestCase {
func testStreams () {
let (writer,reader) = streams()
writer.write("one")
XCTAssertEqual(reader.readSome(), "one")
writer.writeln()
writer.writeln("two")
XCTAssertEqual(reader.readSome(), "\ntwo\n")
writer.write("three")
writer.close()
XCTAssertEqual(reader.read(), "three")
}
func testReadableStreamRun () {
let (writer,reader) = streams()
writer.write("one")
writer.close()
XCTAssertEqual(reader.run("cat"), "one")
}
func testReadableStreamRunAsync () {
let (writer,reader) = streams()
writer.write("one")
writer.close()
XCTAssertEqual(reader.runAsync("cat").stdout.read(), "one")
}
func testPrintStream () {
let (writer,reader) = streams()
writer.write("one")
writer.close()
var string = ""
print(reader, toStream: &string)
XCTAssertEqual(string, "one\n")
}
func testPrintToStream () {
var (writer,reader) = streams()
print("one", toStream: &writer)
XCTAssertEqual(reader.readSome(), "one\n")
}
}