From 9152b482155bc791278e785aa3b8089cec353bfa Mon Sep 17 00:00:00 2001 From: Jon Reid Date: Sun, 29 Dec 2019 13:25:16 -0800 Subject: [PATCH] Swift: Update to package manager 5.1 --- swift/.gitignore | 1 + swift/Package.swift | 20 ++++++++++++++++++- .../Sources/{ => GildedRose}/GildedRose.swift | 2 +- swift/Sources/{ => GildedRose}/Item.swift | 0 swift/Sources/{ => GildedRoseApp}/main.swift | 1 + .../GildedRoseTests/XCTestManifests.swift | 9 +++++++++ swift/Tests/LinuxMain.swift | 10 +++++----- swift/Tests/swiftTests/GildedRoseTests.swift | 18 ----------------- 8 files changed, 36 insertions(+), 25 deletions(-) rename swift/Sources/{ => GildedRose}/GildedRose.swift (98%) rename swift/Sources/{ => GildedRose}/Item.swift (100%) rename swift/Sources/{ => GildedRoseApp}/main.swift (98%) create mode 100644 swift/Tests/GildedRoseTests/XCTestManifests.swift delete mode 100644 swift/Tests/swiftTests/GildedRoseTests.swift diff --git a/swift/.gitignore b/swift/.gitignore index 02c08753..95c43209 100644 --- a/swift/.gitignore +++ b/swift/.gitignore @@ -2,3 +2,4 @@ /.build /Packages /*.xcodeproj +xcuserdata/ diff --git a/swift/Package.swift b/swift/Package.swift index 3475d81e..fea88e3e 100644 --- a/swift/Package.swift +++ b/swift/Package.swift @@ -1,5 +1,23 @@ +// swift-tools-version:5.1 + import PackageDescription let package = Package( - name: "GildedRose" + name: "GildedRose", + products: [ + .library( + name: "GildedRose", + targets: ["GildedRose"]), + ], + targets: [ + .target( + name: "GildedRose", + dependencies: []), + .target( + name: "GildedRoseApp", + dependencies: ["GildedRose"]), + .testTarget( + name: "GildedRoseTests", + dependencies: ["GildedRose"]), + ] ) diff --git a/swift/Sources/GildedRose.swift b/swift/Sources/GildedRose/GildedRose.swift similarity index 98% rename from swift/Sources/GildedRose.swift rename to swift/Sources/GildedRose/GildedRose.swift index 649e97e4..0a96dc6b 100644 --- a/swift/Sources/GildedRose.swift +++ b/swift/Sources/GildedRose/GildedRose.swift @@ -2,7 +2,7 @@ public class GildedRose { var items:[Item] - required public init(items:[Item]) { + public init(items:[Item]) { self.items = items } diff --git a/swift/Sources/Item.swift b/swift/Sources/GildedRose/Item.swift similarity index 100% rename from swift/Sources/Item.swift rename to swift/Sources/GildedRose/Item.swift diff --git a/swift/Sources/main.swift b/swift/Sources/GildedRoseApp/main.swift similarity index 98% rename from swift/Sources/main.swift rename to swift/Sources/GildedRoseApp/main.swift index 35cf52b1..ad0b93b7 100644 --- a/swift/Sources/main.swift +++ b/swift/Sources/GildedRoseApp/main.swift @@ -1,3 +1,4 @@ +import GildedRose let items = [ Item(name: "+5 Dexterity Vest", sellIn: 10, quality: 20), diff --git a/swift/Tests/GildedRoseTests/XCTestManifests.swift b/swift/Tests/GildedRoseTests/XCTestManifests.swift new file mode 100644 index 00000000..0409af2c --- /dev/null +++ b/swift/Tests/GildedRoseTests/XCTestManifests.swift @@ -0,0 +1,9 @@ +import XCTest + +#if !canImport(ObjectiveC) +public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(GildedRoseTests.allTests), + ] +} +#endif diff --git a/swift/Tests/LinuxMain.swift b/swift/Tests/LinuxMain.swift index b80b87f5..6d69d936 100644 --- a/swift/Tests/LinuxMain.swift +++ b/swift/Tests/LinuxMain.swift @@ -1,7 +1,7 @@ -@testable import GildedRoseTestSuit - import XCTest -XCTMain([ - testCase(GildedRoseTests.allTests), -]) +import GildedRoseTests + +var tests = [XCTestCaseEntry]() +tests += GildedRoseTests.allTests() +XCTMain(tests) diff --git a/swift/Tests/swiftTests/GildedRoseTests.swift b/swift/Tests/swiftTests/GildedRoseTests.swift deleted file mode 100644 index 67a7c251..00000000 --- a/swift/Tests/swiftTests/GildedRoseTests.swift +++ /dev/null @@ -1,18 +0,0 @@ -@testable import GildedRose -import XCTest - -class GildedRoseTests: XCTestCase { - - func testFoo() { - let items = [Item(name: "foo", sellIn: 0, quality: 0)] - let app = GildedRose(items: items); - app.updateQuality(); - XCTAssertEqual("fixme", app.items[0].name); - } - - static var allTests : [(String, (GildedRoseTests) -> () throws -> Void)] { - return [ - ("testFoo", testFoo), - ] - } -}