From c840cc74bb56e0d7be9d000edf88ebc680500232 Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Wed, 5 Sep 2018 15:20:24 +0900 Subject: [PATCH 1/2] Add testing demo --- DataSourceKit.xcodeproj/project.pbxproj | 18 +++++++--- DemoTests/DemoTests.swift | 34 ------------------- DemoTests/VenuDetailViewControllerTests.swift | 33 ++++++++++++++++++ 3 files changed, 47 insertions(+), 38 deletions(-) delete mode 100644 DemoTests/DemoTests.swift create mode 100644 DemoTests/VenuDetailViewControllerTests.swift diff --git a/DataSourceKit.xcodeproj/project.pbxproj b/DataSourceKit.xcodeproj/project.pbxproj index 95c8aa3..ffd8818 100644 --- a/DataSourceKit.xcodeproj/project.pbxproj +++ b/DataSourceKit.xcodeproj/project.pbxproj @@ -11,7 +11,6 @@ 7F9AEDAD213BBBA10092854F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9AEDAC213BBBA10092854F /* AppDelegate.swift */; }; 7F9AEDB4213BBBA30092854F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7F9AEDB3213BBBA30092854F /* Assets.xcassets */; }; 7F9AEDB7213BBBA30092854F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7F9AEDB5213BBBA30092854F /* LaunchScreen.storyboard */; }; - 7F9AEDC2213BBBA30092854F /* DemoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9AEDC1213BBBA30092854F /* DemoTests.swift */; }; 7F9AEDCF213BBC280092854F /* CollectionViewFullWidthCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9AEDCC213BBC280092854F /* CollectionViewFullWidthCell.swift */; }; 7F9AEDDE213BBC390092854F /* Review.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9AEDD1213BBC390092854F /* Review.swift */; }; 7F9AEDDF213BBC390092854F /* Venue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7F9AEDD2213BBC390092854F /* Venue.swift */; }; @@ -47,6 +46,8 @@ 7FC38D31213FA8BC009FCEB1 /* BTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FC38D30213FA8BC009FCEB1 /* BTableViewCell.swift */; }; 7FC38D33213FA908009FCEB1 /* TableViewDataSourceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FC38D32213FA908009FCEB1 /* TableViewDataSourceTests.swift */; }; 7FC38D35213FA917009FCEB1 /* TestTableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FC38D34213FA917009FCEB1 /* TestTableView.swift */; }; + 7FC38D39213FAC69009FCEB1 /* VenuDetailViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FC38D38213FAC69009FCEB1 /* VenuDetailViewControllerTests.swift */; }; + 7FC38D3B213FACE8009FCEB1 /* DataSourceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7FB64BF6213B552B0071FC26 /* DataSourceKit.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -95,7 +96,6 @@ 7F9AEDB6213BBBA30092854F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 7F9AEDB8213BBBA30092854F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7F9AEDBD213BBBA30092854F /* DemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 7F9AEDC1213BBBA30092854F /* DemoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoTests.swift; sourceTree = ""; }; 7F9AEDC3213BBBA30092854F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7F9AEDCC213BBC280092854F /* CollectionViewFullWidthCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewFullWidthCell.swift; sourceTree = ""; }; 7F9AEDD1213BBC390092854F /* Review.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Review.swift; sourceTree = ""; }; @@ -133,6 +133,7 @@ 7FC38D30213FA8BC009FCEB1 /* BTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BTableViewCell.swift; sourceTree = ""; }; 7FC38D32213FA908009FCEB1 /* TableViewDataSourceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableViewDataSourceTests.swift; sourceTree = ""; }; 7FC38D34213FA917009FCEB1 /* TestTableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestTableView.swift; sourceTree = ""; }; + 7FC38D38213FAC69009FCEB1 /* VenuDetailViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VenuDetailViewControllerTests.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -148,6 +149,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 7FC38D3B213FACE8009FCEB1 /* DataSourceKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -186,7 +188,7 @@ 7F9AEDC0213BBBA30092854F /* DemoTests */ = { isa = PBXGroup; children = ( - 7F9AEDC1213BBBA30092854F /* DemoTests.swift */, + 7FC38D38213FAC69009FCEB1 /* VenuDetailViewControllerTests.swift */, 7F9AEDC3213BBBA30092854F /* Info.plist */, ); path = DemoTests; @@ -234,6 +236,7 @@ 7F9AEDAB213BBBA10092854F /* Demo */, 7F9AEDC0213BBBA30092854F /* DemoTests */, 7FB64BF7213B552B0071FC26 /* Products */, + 7FC38D3A213FACE8009FCEB1 /* Frameworks */, ); sourceTree = ""; }; @@ -300,6 +303,13 @@ path = TestView; sourceTree = ""; }; + 7FC38D3A213FACE8009FCEB1 /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -497,7 +507,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7F9AEDC2213BBBA30092854F /* DemoTests.swift in Sources */, + 7FC38D39213FAC69009FCEB1 /* VenuDetailViewControllerTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/DemoTests/DemoTests.swift b/DemoTests/DemoTests.swift deleted file mode 100644 index 26bbe9d..0000000 --- a/DemoTests/DemoTests.swift +++ /dev/null @@ -1,34 +0,0 @@ -// -// DemoTests.swift -// DemoTests -// -// Created by Yosuke Ishikawa on 2018/09/02. -// Copyright © 2018 Yosuke Ishikawa. All rights reserved. -// - -import XCTest -@testable import Demo - -class DemoTests: XCTestCase { - - override func setUp() { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDown() { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - } - - func testPerformanceExample() { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - -} diff --git a/DemoTests/VenuDetailViewControllerTests.swift b/DemoTests/VenuDetailViewControllerTests.swift new file mode 100644 index 0000000..38ea472 --- /dev/null +++ b/DemoTests/VenuDetailViewControllerTests.swift @@ -0,0 +1,33 @@ +// +// VenuDetailViewControllerTests.swift +// DemoTests +// +// Created by Yosuke Ishikawa on 2018/09/05. +// Copyright © 2018年 Yosuke Ishikawa. All rights reserved. +// + +import XCTest +@testable import Demo + +class VenuDetailViewControllerTests: XCTestCase { + func testEmptyRelatedVenues() { + let venue = Venue(photo: nil, name: "Kaminarimon") + let review1 = Review(authorImage: nil, authorName: "Yosuke Ishikawa", body: "Foo") + let review2 = Review(authorImage: nil, authorName: "Masatake Yamoto", body: "Bar") + + let data = VenueDetailViewController.Data( + venue: venue, + reviews: [ + review1, + review2, + ], + relatedVenues: []) + + XCTAssertEqual(data.cellDeclarations, [ + .outline(venue), + .sectionHeader("Reviews"), + .review(review1), + .review(review2), + ]) + } +} From 86b1d225373ba3f3bb99db35ea26fdfe6788e5be Mon Sep 17 00:00:00 2001 From: Yosuke Ishikawa Date: Wed, 5 Sep 2018 15:21:00 +0900 Subject: [PATCH 2/2] Share build scheme for demo app --- .../xcshareddata/xcschemes/Demo.xcscheme | 101 ++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 DataSourceKit.xcodeproj/xcshareddata/xcschemes/Demo.xcscheme diff --git a/DataSourceKit.xcodeproj/xcshareddata/xcschemes/Demo.xcscheme b/DataSourceKit.xcodeproj/xcshareddata/xcschemes/Demo.xcscheme new file mode 100644 index 0000000..e1421d5 --- /dev/null +++ b/DataSourceKit.xcodeproj/xcshareddata/xcschemes/Demo.xcscheme @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +