From b2b61a1f57000b40d5270ca2f9b63ecc71fa0d0d Mon Sep 17 00:00:00 2001 From: Manali Mogre Date: Sun, 16 Aug 2020 21:04:26 +0200 Subject: [PATCH] - Updated Naming Conventions --- swift/Sources/GildedRose/GildedRose.swift | 2 +- .../Sources/GildedRose/Items/AgedBrieItem.swift | 9 ++++----- .../GildedRose/Items/BackstagePassesItem.swift | 8 ++++---- .../GildedRose/Items/CustomisedItem.swift | 16 ++++++++-------- .../Sources/GildedRose/Items/StandardItem.swift | 8 ++++---- .../Sources/GildedRose/Items/SulfurasItem.swift | 2 +- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/swift/Sources/GildedRose/GildedRose.swift b/swift/Sources/GildedRose/GildedRose.swift index 4644e48e..d1a5702e 100644 --- a/swift/Sources/GildedRose/GildedRose.swift +++ b/swift/Sources/GildedRose/GildedRose.swift @@ -7,7 +7,7 @@ public class GildedRose { public func updateQuality() { let customFactoryObj = CustomisedItemFactory() - _ = items.map({customFactoryObj.getCustomisedItem(item: $0).updateCustomItemQuality()}) + _ = items.map({customFactoryObj.getCustomisedItem(item: $0).updateItemState()}) } } diff --git a/swift/Sources/GildedRose/Items/AgedBrieItem.swift b/swift/Sources/GildedRose/Items/AgedBrieItem.swift index b3a17d37..4ba7dac9 100644 --- a/swift/Sources/GildedRose/Items/AgedBrieItem.swift +++ b/swift/Sources/GildedRose/Items/AgedBrieItem.swift @@ -7,20 +7,19 @@ import Foundation -struct AgedBrieItem: CustomisedItemProtocol, ItemSellInDaysProtocol, ItemQualityProtocol { +struct AgedBrieItem: CustomisedItemProtocol, ItemSellInUpdater, ItemQualityUpdater { var item: Item public init(item: Item) { self.item = item } - func updateCustomItemQuality() { + func updateItemState() { // update the sell in days - - reduceSellInDaysByOne(item: item) + reduceSellInDays(for: item, by: 1) // Increment the Item quality by 1 if the quality is less than 50 - guard isItemUnderHighestQuality(item: item) else {return} + guard isItemUnderHighestQuality(item: item) else { return } increaseQuality(for: item, by: 1) } diff --git a/swift/Sources/GildedRose/Items/BackstagePassesItem.swift b/swift/Sources/GildedRose/Items/BackstagePassesItem.swift index 1d040ced..4bd338ed 100644 --- a/swift/Sources/GildedRose/Items/BackstagePassesItem.swift +++ b/swift/Sources/GildedRose/Items/BackstagePassesItem.swift @@ -7,16 +7,16 @@ import Foundation -struct BackstagePassesItem: CustomisedItemProtocol, ItemQualityProtocol, ItemSellInDaysProtocol { +struct BackstagePassesItem: CustomisedItemProtocol, ItemQualityUpdater, ItemSellInUpdater { var item: Item public init(item: Item) { self.item = item } - func updateCustomItemQuality() { - reduceSellInDaysByOne(item: item) - + func updateItemState() { + reduceSellInDays(for: item, by: 1) + guard !HasSellInDatePassed(item: item) else { setItemQualityToZero(item: item) return diff --git a/swift/Sources/GildedRose/Items/CustomisedItem.swift b/swift/Sources/GildedRose/Items/CustomisedItem.swift index ce7f1f31..ef085513 100644 --- a/swift/Sources/GildedRose/Items/CustomisedItem.swift +++ b/swift/Sources/GildedRose/Items/CustomisedItem.swift @@ -8,17 +8,17 @@ import Foundation protocol CustomisedItemProtocol { - func updateCustomItemQuality() + func updateItemState() } -protocol ItemSellInDaysProtocol { - func reduceSellInDaysByOne(item: Item) +protocol ItemSellInUpdater { + func reduceSellInDays(for item: Item, by days: Int) } -extension ItemSellInDaysProtocol { - func reduceSellInDaysByOne(item: Item) { - item.sellIn -= 1 +extension ItemSellInUpdater { + func reduceSellInDays(for item: Item, by days: Int) { + item.sellIn -= days } func HasSellInDatePassed(item: Item) -> Bool { @@ -26,11 +26,11 @@ extension ItemSellInDaysProtocol { } } -protocol ItemQualityProtocol { +protocol ItemQualityUpdater { } -extension ItemQualityProtocol { +extension ItemQualityUpdater { func isItemUnderHighestQuality(item: Item) -> Bool { return item.quality < ValueConstants.kHightestQualityValue } diff --git a/swift/Sources/GildedRose/Items/StandardItem.swift b/swift/Sources/GildedRose/Items/StandardItem.swift index 34dd80c1..0d4145f0 100644 --- a/swift/Sources/GildedRose/Items/StandardItem.swift +++ b/swift/Sources/GildedRose/Items/StandardItem.swift @@ -7,16 +7,16 @@ import Foundation -struct StandardItem: CustomisedItemProtocol, ItemQualityProtocol, ItemSellInDaysProtocol { +struct StandardItem: CustomisedItemProtocol, ItemQualityUpdater, ItemSellInUpdater { var item: Item public init(item: Item) { self.item = item } - func updateCustomItemQuality() { + func updateItemState() { // Reduce the sellIn days for Item by 1 - reduceSellInDaysByOne(item: item) - + reduceSellInDays(for: item, by: 1) + // Reduce the item quality by 1 , if the sell in date is passed decrement by 2 HasSellInDatePassed(item: item) ? reduceQuality(for: item, by: decreasingValueForZeroOrLessDaysToSell()) : reduceQuality(for: item, by: decreasingValueOverZeroDaysToSell()) guard isItemOverLowestQuality(item: item) else { diff --git a/swift/Sources/GildedRose/Items/SulfurasItem.swift b/swift/Sources/GildedRose/Items/SulfurasItem.swift index 8ede0b84..1eb44e5c 100644 --- a/swift/Sources/GildedRose/Items/SulfurasItem.swift +++ b/swift/Sources/GildedRose/Items/SulfurasItem.swift @@ -13,7 +13,7 @@ struct SulfurasItem: CustomisedItemProtocol { public init(item: Item) { self.item = item } - func updateCustomItemQuality() { + func updateItemState() { // No code as there is no change in quality or sell in days of sulfuras item } }