From 44bc9f57188a184f88b3be724e3bae6f2c0e5f6a Mon Sep 17 00:00:00 2001 From: Lucas van Dongen Date: Mon, 23 Nov 2020 17:05:53 +0100 Subject: [PATCH] Added check on Brie always getting better --- swift/Tests/GildedRoseTests/AdvancedRules.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/swift/Tests/GildedRoseTests/AdvancedRules.swift b/swift/Tests/GildedRoseTests/AdvancedRules.swift index 6f4368c4..9fa48020 100644 --- a/swift/Tests/GildedRoseTests/AdvancedRules.swift +++ b/swift/Tests/GildedRoseTests/AdvancedRules.swift @@ -13,6 +13,7 @@ class AdvancedRules: XCTestCase { private let noQualityItem = Item(name: "No quality Item", sellIn: 1, quality: 0) private let brieItem = Item(name: "Aged Brie", sellIn: 2, quality: 0) private let veryGoodBrieItem = Item(name: "Aged Brie", sellIn: 2, quality: 50) + private let expiredBrieItem = Item(name: "Aged Brie", sellIn: -3, quality: 10) private let sulfuras = Item(name: "Sulfuras, Hand of Ragnaros", sellIn: 0, quality: 50) //- Once the sell by date has passed, Quality degrades twice as fast @@ -87,4 +88,14 @@ class AdvancedRules: XCTestCase { XCTAssertTrue(backstagePassLessThan5Days.updated(hasExpectedQuality: 23)) XCTAssertTrue(backstagePassExpired.updated(hasExpectedQuality: 0)) } + + func testBrieAlwaysGetsBetter() { + let initialQuality = expiredBrieItem.quality + XCTAssertLessThan(expiredBrieItem.sellIn, 0) + + let system = GildedRose(items: [expiredBrieItem]) + system.updateQuality() + + XCTAssertGreaterThan(system.items.first!.quality, initialQuality) + } }