mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
Added tests to project
This commit is contained in:
parent
1a7b487325
commit
584d658dd6
48
swift/Tests/GildedRoseTests/GildedRoseBackstageTests.swift
Normal file
48
swift/Tests/GildedRoseTests/GildedRoseBackstageTests.swift
Normal file
@ -0,0 +1,48 @@
|
||||
//
|
||||
// GildedRoseBackstageTests.swift
|
||||
//
|
||||
//
|
||||
// Created by Murat Bataray on 09/02/2023.
|
||||
//
|
||||
|
||||
@testable import GildedRose
|
||||
import XCTest
|
||||
|
||||
class GildedRoseBackstageTests: XCTestCase {
|
||||
func test_updateQuality_backstagePassQuality_shouldIncreaseOnceInQualityWhenMoreThan10DaysRemaining() throws {
|
||||
let items = [Item(name: "Backstage passes to a TAFKAL80ETC concert", sellIn: 15, quality: 1)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 2)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 3)
|
||||
}
|
||||
|
||||
func test_updateQuality_backstagePassQuality_shouldIncreaseByTwoInQualityWhenLessThan10DaysRemaining() throws {
|
||||
let items = [Item(name: "Backstage passes to a TAFKAL80ETC concert", sellIn: 9, quality: 1)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 3)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 5)
|
||||
}
|
||||
|
||||
func test_updateQuality_backstagePassQuality_shouldIncreaseByThreeInQualityWhenLessThan5DaysRemaining() throws {
|
||||
let items = [Item(name: "Backstage passes to a TAFKAL80ETC concert", sellIn: 5, quality: 1)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 4)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 7)
|
||||
}
|
||||
|
||||
func test_updateQuality_backstagePassQuality_shouldBeZeroWhenSellByDateHasPassed() throws {
|
||||
let items = [Item(name: "Backstage passes to a TAFKAL80ETC concert", sellIn: 0, quality: 1)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 0)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 0)
|
||||
}
|
||||
}
|
||||
|
||||
21
swift/Tests/GildedRoseTests/GildedRoseBrieTests.swift
Normal file
21
swift/Tests/GildedRoseTests/GildedRoseBrieTests.swift
Normal file
@ -0,0 +1,21 @@
|
||||
//
|
||||
// GildedRoseBrieTests.swift
|
||||
//
|
||||
//
|
||||
// Created by Murat Bataray on 09/02/2023.
|
||||
//
|
||||
|
||||
@testable import GildedRose
|
||||
import XCTest
|
||||
|
||||
class GildedRoseBrieTests: XCTestCase {
|
||||
func test_updateQuality_agedBrieQuality_increasesInAgeAfterSellByDate() throws {
|
||||
let items = [Item(name: "Aged Brie", sellIn: 1, quality: 4)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 5)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 7)
|
||||
}
|
||||
}
|
||||
|
||||
22
swift/Tests/GildedRoseTests/GildedRoseConjuredTests.swift
Normal file
22
swift/Tests/GildedRoseTests/GildedRoseConjuredTests.swift
Normal file
@ -0,0 +1,22 @@
|
||||
//
|
||||
// GildedRoseConjuredTests.swift
|
||||
//
|
||||
//
|
||||
// Created by Murat Bataray on 09/02/2023.
|
||||
//
|
||||
|
||||
@testable import GildedRose
|
||||
import XCTest
|
||||
|
||||
class GildedRoseConjuredTests: XCTestCase {
|
||||
func test_updateQuality_conjuredItemQuality_shouldDegradeTwiceAsFastAfterSellByDate() throws {
|
||||
let items = [Item(name: "Conjured item", sellIn: 1, quality: 15)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 13)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 9)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
30
swift/Tests/GildedRoseTests/GildedRoseSulfurasTests.swift
Normal file
30
swift/Tests/GildedRoseTests/GildedRoseSulfurasTests.swift
Normal file
@ -0,0 +1,30 @@
|
||||
//
|
||||
// GildedRoseSulfurasTests.swift
|
||||
//
|
||||
//
|
||||
// Created by Murat Bataray on 09/02/2023.
|
||||
//
|
||||
|
||||
@testable import GildedRose
|
||||
import XCTest
|
||||
|
||||
class GildedRoseSulfurasTests: XCTestCase {
|
||||
func test_updateQuality_sulfurasQuality_shouldntHaveSellDate() throws {
|
||||
let items = [Item(name: "Sulfuras, Hand of Ragnaros", sellIn: 0, quality: 1)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 1)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 1)
|
||||
}
|
||||
|
||||
func test_updateQuality_sulfurasQuality_shouldntDecreaseInQuality() throws {
|
||||
let items = [Item(name: "Sulfuras, Hand of Ragnaros", sellIn: 1, quality: 1)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 1)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 1)
|
||||
}
|
||||
|
||||
}
|
||||
@ -2,10 +2,39 @@
|
||||
import XCTest
|
||||
|
||||
class GildedRoseTests: XCTestCase {
|
||||
func testFoo() throws {
|
||||
let items = [Item(name: "foo", sellIn: 0, quality: 0)]
|
||||
func test_updateQuality_itemSellIn_shouldDecreaseAfterCallingFunction() throws {
|
||||
let items = [Item(name: "foo", sellIn: 5, quality: 5)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].name, "foo")
|
||||
XCTAssertEqual(app.items[0].quality, 4)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 3)
|
||||
}
|
||||
|
||||
func test_updateQuality_itemQuality_shouldDegradeTwiceAsFastAfterPassingSellByDate() throws {
|
||||
let items = [Item(name: "foo", sellIn: 0, quality: 5)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 3)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 1)
|
||||
}
|
||||
|
||||
func test_updateQuality_itemQuality_shouldntBecomeNegativeAfterPassingSellByDate() throws {
|
||||
let items = [Item(name: "foo", sellIn: 0, quality: 1)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 0)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 0)
|
||||
}
|
||||
|
||||
func test_updateQuality_itemQuality_shouldntGoAbove50() throws {
|
||||
let items = [Item(name: "Aged Brie", sellIn: 1, quality: 49)]
|
||||
let app = GildedRose(items: items)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 50)
|
||||
app.updateQuality()
|
||||
XCTAssertEqual(app.items[0].quality, 50)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user