Add more unit tests

This commit is contained in:
Yasuhiro Hatta 2016-06-13 01:04:31 +09:00
parent d5e00a2832
commit 47f4cad5aa
2 changed files with 68 additions and 0 deletions

View File

@ -40,6 +40,9 @@
0E9317DA1D0DB30800AC20A0 /* CSV+subscript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9317D81D0DB30800AC20A0 /* CSV+subscript.swift */; };
0E9317DB1D0DB30800AC20A0 /* CSV+subscript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9317D81D0DB30800AC20A0 /* CSV+subscript.swift */; };
0E9317DC1D0DB30800AC20A0 /* CSV+subscript.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9317D81D0DB30800AC20A0 /* CSV+subscript.swift */; };
0E9317DE1D0DBCC500AC20A0 /* ReadmeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9317DD1D0DBCC500AC20A0 /* ReadmeTests.swift */; };
0E9317DF1D0DBCC500AC20A0 /* ReadmeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9317DD1D0DBCC500AC20A0 /* ReadmeTests.swift */; };
0E9317E01D0DBCC500AC20A0 /* ReadmeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E9317DD1D0DBCC500AC20A0 /* ReadmeTests.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@ -84,6 +87,7 @@
0E7E8CF11D0BCD0B0057A1C1 /* CSVTests-tvOS.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CSVTests-tvOS.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
0E9317D31D0DB2F200AC20A0 /* CSV+init.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CSV+init.swift"; sourceTree = "<group>"; };
0E9317D81D0DB30800AC20A0 /* CSV+subscript.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "CSV+subscript.swift"; sourceTree = "<group>"; };
0E9317DD1D0DBCC500AC20A0 /* ReadmeTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReadmeTests.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -193,6 +197,7 @@
children = (
0E7E8CA61D0BC8050057A1C1 /* CSVReaderTests.swift */,
0E7E8CA71D0BC8050057A1C1 /* CSVTests.swift */,
0E9317DD1D0DBCC500AC20A0 /* ReadmeTests.swift */,
);
path = CSV;
sourceTree = "<group>";
@ -486,6 +491,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0E9317DF1D0DBCC500AC20A0 /* ReadmeTests.swift in Sources */,
0E7E8CAA1D0BC8050057A1C1 /* CSVTests.swift in Sources */,
0E7E8CA91D0BC8050057A1C1 /* CSVReaderTests.swift in Sources */,
);
@ -519,6 +525,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0E9317DE1D0DBCC500AC20A0 /* ReadmeTests.swift in Sources */,
0E7E8CDE1D0BCA840057A1C1 /* CSVTests.swift in Sources */,
0E7E8CDD1D0BCA840057A1C1 /* CSVReaderTests.swift in Sources */,
);
@ -540,6 +547,7 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0E9317E01D0DBCC500AC20A0 /* ReadmeTests.swift in Sources */,
0E7E8D041D0BCDDD0057A1C1 /* CSVTests.swift in Sources */,
0E7E8D031D0BCDDD0057A1C1 /* CSVReaderTests.swift in Sources */,
);

View File

@ -0,0 +1,60 @@
//
// ReadmeTests.swift
// CSV
//
// Created by Yasuhiro Hatta on 2016/06/13.
// Copyright © 2016 yaslab. All rights reserved.
//
import XCTest
@testable import CSV
class ReadmeTests: XCTestCase {
func testFromCSVString() {
for row in try! CSV(string: "1,foo\n2,bar") {
print("\(row)")
// => ["1", "foo"]
// => ["2", "bar"]
}
}
func testFromFilePath() {
//for row in try! CSV(path: "/path/to/file.csv") {
// print("\(row)")
//}
}
func testGettingTheHeaderRow() {
let csv = try! CSV(
string: "id,name\n1,foo\n2,bar",
hasHeaderRow: true) // default: false
let headerRow = csv.headerRow!
print("\(headerRow)") // => ["id", "name"]
for row in csv {
print("\(row)")
// => ["1", "foo"]
// => ["2", "bar"]
}
}
func testGetTheFieldValueUsingSubscript() {
let csv = try! CSV(
string: "id,name\n1,foo",
hasHeaderRow: true) // It must be true.
while csv.next() != nil {
print("\(csv["id"]!)") // => "1"
print("\(csv["name"]!)") // => "foo"
}
}
func testProvideTheCharacterEncoding() {
//let csv = try! CSV(
// path: "/path/to/file.csv",
// encoding: NSUTF8StringEncoding)
}
}