diff --git a/swift/Sources/GildedRose/GildedRose.swift b/swift/Sources/GildedRose/GildedRose.swift index 9b975467..a25d8117 100644 --- a/swift/Sources/GildedRose/GildedRose.swift +++ b/swift/Sources/GildedRose/GildedRose.swift @@ -6,6 +6,38 @@ public class GildedRose { } public func updateQuality() { + for item in items { + switch item.name { + case ItemNameConstants.kBackstagePassesItem: + item.sellIn = item.sellIn - 1 + if item.sellIn < 0 { + item.quality = 0 + } + else { + item.quality = item.quality < 50 ? item.quality + 1 : 50 + if item.sellIn < 10 { + item.quality = item.quality < 50 ? item.quality + 1 : 50 + } + if item.sellIn < 5 { + item.quality = item.quality < 50 ? item.quality + 1 : 50 + } + } + case ItemNameConstants.kAgedBrieItem: + item.sellIn = item.sellIn - 1 + item.quality = item.quality < 50 ? (item.quality + 1) : 50 + case ItemNameConstants.kSulfurasItem: + break + default: + item.sellIn = item.sellIn - 1 + item.quality = item.quality > 0 ? (item.quality - 1) : 0 + if(item.sellIn < 0) { + item.quality = item.quality > 0 ? (item.quality - 1) : 0 + } + } + } + } + + /* public func updateQuality() { for i in 0.. 0) { @@ -55,5 +87,5 @@ public class GildedRose { } } } - } + } */ } diff --git a/swift/Sources/GildedRose/GlidedRoseConstants.swift b/swift/Sources/GildedRose/GlidedRoseConstants.swift new file mode 100644 index 00000000..a869beec --- /dev/null +++ b/swift/Sources/GildedRose/GlidedRoseConstants.swift @@ -0,0 +1,14 @@ +// +// File.swift +// +// +// Created by Manali Mogre on 16/08/2020. +// + +import Foundation + +struct ItemNameConstants { + static let kAgedBrieItem: String = "Aged Brie" + static let kBackstagePassesItem: String = "Backstage passes to a TAFKAL80ETC concert" + static let kSulfurasItem: String = "Sulfuras, Hand of Ragnaros" +}