From fe88e7068ed598bf5bbb2c8ffc82dea3c713a1b4 Mon Sep 17 00:00:00 2001 From: Ludwig V Date: Thu, 11 Nov 2021 16:44:50 +0100 Subject: [PATCH] item static property + inc / dec method --- TypeScript/src/gilded-rose.ts | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/TypeScript/src/gilded-rose.ts b/TypeScript/src/gilded-rose.ts index 1c3f0e0f..e17d904c 100644 --- a/TypeScript/src/gilded-rose.ts +++ b/TypeScript/src/gilded-rose.ts @@ -10,7 +10,8 @@ export class Item { this.quality = quality } - static normalMaxQuality = 50 + static maxQualityThreshold = 50 + static minQualityThreshold = 0 static legendaryQuality = 80 } @@ -28,7 +29,7 @@ export class GildedRose { return ( item.name != 'Aged Brie' && item.name != 'Backstage passes to a TAFKAL80ETC concert' && - item.quality > 0 + item.quality > Item.minQualityThreshold ) } @@ -36,6 +37,14 @@ export class GildedRose { return item.name === 'Sulfuras, Hand of Ragnaros' } + incrementQuality(item: Item) { + return item.quality + 1 + } + + decrementQuality(item: Item) { + return item.quality - 1 + } + updateQuality() { this.items.forEach(item => { if (this.isLegendayProduct(item)) { @@ -46,16 +55,16 @@ export class GildedRose { if (this.shouldDecreaseQuality(item)) { item.quality = item.quality - 1 } else { - if (item.quality < 50) { + if (item.quality < Item.maxQualityThreshold) { item.quality = item.quality + 1 if (currentProductName == 'Backstage passes to a TAFKAL80ETC concert') { if (item.sellIn < 11) { - if (item.quality < 50) { + if (item.quality < Item.maxQualityThreshold) { item.quality = item.quality + 1 } } if (item.sellIn < 6) { - if (item.quality < 50) { + if (item.quality < Item.maxQualityThreshold) { item.quality = item.quality + 1 } } @@ -68,14 +77,14 @@ export class GildedRose { if (item.sellIn < 0) { if (currentProductName != 'Aged Brie') { if (currentProductName != 'Backstage passes to a TAFKAL80ETC concert') { - if (item.quality > 0) { + if (item.quality > Item.minQualityThreshold) { item.quality = item.quality - 1 } } else { item.quality = item.quality - item.quality } } else { - if (item.quality < 50) { + if (item.quality < Item.maxQualityThreshold) { item.quality = item.quality + 1 } }