From 95946cf453b0fac53e68c5904c9748ac46a3df4a Mon Sep 17 00:00:00 2001 From: Lucas van Dongen Date: Mon, 23 Nov 2020 15:15:44 +0100 Subject: [PATCH] Added extension to to make it easier to test updates to quality --- .../Tests/GildedRoseTests/AdvancedRules.swift | 15 ++++----------- swift/Tests/GildedRoseTests/TestItem.swift | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 11 deletions(-) create mode 100644 swift/Tests/GildedRoseTests/TestItem.swift diff --git a/swift/Tests/GildedRoseTests/AdvancedRules.swift b/swift/Tests/GildedRoseTests/AdvancedRules.swift index eb56ae1e..6f4368c4 100644 --- a/swift/Tests/GildedRoseTests/AdvancedRules.swift +++ b/swift/Tests/GildedRoseTests/AdvancedRules.swift @@ -82,16 +82,9 @@ class AdvancedRules: XCTestCase { let backstagePassLessThan5Days = Item(name: "Backstage passes to a TAFKAL80ETC concert", sellIn: 5, quality: 20) let backstagePassExpired = Item(name: "Backstage passes to a TAFKAL80ETC concert", sellIn: 0, quality: 20) - XCTAssertTrue(hasExpectedQuality(item: backstagePassMoreThan10Days, quality: 21)) - XCTAssertTrue(hasExpectedQuality(item: backstagePassLessThan10Days, quality: 22)) - XCTAssertTrue(hasExpectedQuality(item: backstagePassLessThan5Days, quality: 23)) - XCTAssertTrue(hasExpectedQuality(item: backstagePassExpired, quality: 0)) - } - - private func hasExpectedQuality(item: Item, quality: Int) -> Bool { - let system = GildedRose(items: [item]) - system.updateQuality() - - return item.quality == quality + XCTAssertTrue(backstagePassMoreThan10Days.updated(hasExpectedQuality: 21)) + XCTAssertTrue(backstagePassLessThan10Days.updated(hasExpectedQuality: 22)) + XCTAssertTrue(backstagePassLessThan5Days.updated(hasExpectedQuality: 23)) + XCTAssertTrue(backstagePassExpired.updated(hasExpectedQuality: 0)) } } diff --git a/swift/Tests/GildedRoseTests/TestItem.swift b/swift/Tests/GildedRoseTests/TestItem.swift new file mode 100644 index 00000000..5f6c3b2b --- /dev/null +++ b/swift/Tests/GildedRoseTests/TestItem.swift @@ -0,0 +1,18 @@ +// +// TestItem.swift +// +// +// Created by Lucas van Dongen on 23/11/2020. +// + +@testable import GildedRose +import Foundation + +extension Item { + func updated(hasExpectedQuality quality: Int) -> Bool { + let system = GildedRose(items: [self]) + system.updateQuality() + + return self.quality == quality + } +}