mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 12:22:12 +00:00
Merge pull request #138 from jonreid/master
Update Swift to work with latest package manager
This commit is contained in:
commit
3e0d5e39dd
1
swift/.gitignore
vendored
1
swift/.gitignore
vendored
@ -2,3 +2,4 @@
|
|||||||
/.build
|
/.build
|
||||||
/Packages
|
/Packages
|
||||||
/*.xcodeproj
|
/*.xcodeproj
|
||||||
|
xcuserdata/
|
||||||
|
|||||||
@ -1,5 +1,23 @@
|
|||||||
|
// swift-tools-version:5.1
|
||||||
|
|
||||||
import PackageDescription
|
import PackageDescription
|
||||||
|
|
||||||
let package = Package(
|
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"]),
|
||||||
|
]
|
||||||
)
|
)
|
||||||
|
|||||||
@ -1,13 +1,11 @@
|
|||||||
|
|
||||||
public class GildedRose {
|
public class GildedRose {
|
||||||
var items:[Item]
|
var items:[Item]
|
||||||
|
|
||||||
required public init(items:[Item]) {
|
public init(items:[Item]) {
|
||||||
self.items = items
|
self.items = items
|
||||||
}
|
}
|
||||||
|
|
||||||
public func updateQuality() {
|
public func updateQuality() {
|
||||||
|
|
||||||
for i in 0..<items.count {
|
for i in 0..<items.count {
|
||||||
if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert") {
|
if (items[i].name != "Aged Brie" && items[i].name != "Backstage passes to a TAFKAL80ETC concert") {
|
||||||
if (items[i].quality > 0) {
|
if (items[i].quality > 0) {
|
||||||
@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
public class Item {
|
public class Item {
|
||||||
public var name: String
|
public var name: String
|
||||||
public var sellIn: Int
|
public var sellIn: Int
|
||||||
@ -1,3 +1,4 @@
|
|||||||
|
import GildedRose
|
||||||
|
|
||||||
let items = [
|
let items = [
|
||||||
Item(name: "+5 Dexterity Vest", sellIn: 10, quality: 20),
|
Item(name: "+5 Dexterity Vest", sellIn: 10, quality: 20),
|
||||||
@ -18,7 +19,6 @@ if (CommandLine.argc > 1) {
|
|||||||
days = Int(CommandLine.arguments[1])! + 1
|
days = Int(CommandLine.arguments[1])! + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for i in 0..<days {
|
for i in 0..<days {
|
||||||
print("-------- day \(i) --------");
|
print("-------- day \(i) --------");
|
||||||
print("name, sellIn, quality");
|
print("name, sellIn, quality");
|
||||||
9
swift/Tests/GildedRoseTests/XCTestManifests.swift
Normal file
9
swift/Tests/GildedRoseTests/XCTestManifests.swift
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import XCTest
|
||||||
|
|
||||||
|
#if !canImport(ObjectiveC)
|
||||||
|
public func allTests() -> [XCTestCaseEntry] {
|
||||||
|
return [
|
||||||
|
testCase(GildedRoseTests.allTests),
|
||||||
|
]
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@ -1,7 +1,7 @@
|
|||||||
@testable import GildedRoseTestSuit
|
|
||||||
|
|
||||||
import XCTest
|
import XCTest
|
||||||
|
|
||||||
XCTMain([
|
import GildedRoseTests
|
||||||
testCase(GildedRoseTests.allTests),
|
|
||||||
])
|
var tests = [XCTestCaseEntry]()
|
||||||
|
tests += GildedRoseTests.allTests()
|
||||||
|
XCTMain(tests)
|
||||||
|
|||||||
@ -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),
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user