mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
Added Conjured tests, 2 fail 1 passes
This commit is contained in:
parent
95946cf453
commit
6323c90d96
37
swift/Tests/GildedRoseTests/ConjuredRules.swift
Normal file
37
swift/Tests/GildedRoseTests/ConjuredRules.swift
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
//
|
||||||
|
// ConjuredRules.swift
|
||||||
|
// GildedRose
|
||||||
|
//
|
||||||
|
// Created by Lucas van Dongen on 23/11/2020.
|
||||||
|
//
|
||||||
|
|
||||||
|
@testable import GildedRose
|
||||||
|
import XCTest
|
||||||
|
|
||||||
|
class ConjuredRules: XCTestCase {
|
||||||
|
private let manaCakeItem = Item(name: "Conjured Mana Cake", sellIn: 3, quality: 6)
|
||||||
|
private let differentConjuredItem = Item(name: "Conjured Different Name", sellIn: 3, quality: 6)
|
||||||
|
private let conjuredDifferentPlaceInNameItem = Item(name: "This item has been conjured", sellIn: 3, quality: 6)
|
||||||
|
private let notAConjuredItem = Item(name: "Regular Item", sellIn: 3, quality: 6)
|
||||||
|
|
||||||
|
//- "Conjured" items degrade in Quality twice as fast as normal items
|
||||||
|
func testConjuredDegradesTwiceAsFast() {
|
||||||
|
let initialQuality = manaCakeItem.quality
|
||||||
|
let system = GildedRose(items: [manaCakeItem])
|
||||||
|
|
||||||
|
system.updateQuality()
|
||||||
|
XCTAssertEqual(system.items.first!.quality, initialQuality - 2)
|
||||||
|
}
|
||||||
|
|
||||||
|
//- All items with "Conjured" in their name are considered conjured
|
||||||
|
func testAnythingConjured() {
|
||||||
|
XCTAssertTrue(differentConjuredItem.updated(hasExpectedQuality: 4))
|
||||||
|
XCTAssertTrue(conjuredDifferentPlaceInNameItem.updated(hasExpectedQuality: 4))
|
||||||
|
XCTAssertTrue(manaCakeItem.updated(hasExpectedQuality: 4))
|
||||||
|
}
|
||||||
|
|
||||||
|
//- All items that do not have "Conjured" in their name are not considered conjured
|
||||||
|
func testNonConjured() {
|
||||||
|
XCTAssertTrue(notAConjuredItem.updated(hasExpectedQuality: 5))
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user