From 2cd5a722013b768c7da458c38bcca5f07ae329bb Mon Sep 17 00:00:00 2001 From: Jesper Date: Wed, 13 Apr 2022 16:31:16 +0200 Subject: [PATCH] Flatten conditionals in sellInBelow0 --- TypeScript/app/gilded-rose.ts | 25 +++++++++++++----------- TypeScript/test/jest/gilded-rose.spec.ts | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/TypeScript/app/gilded-rose.ts b/TypeScript/app/gilded-rose.ts index e44f5b17..81a5607e 100644 --- a/TypeScript/app/gilded-rose.ts +++ b/TypeScript/app/gilded-rose.ts @@ -54,20 +54,23 @@ export class GildedRose { } private sellInBelow0(item: Item) { - if (item.name != 'Aged Brie') { - if (item.name != 'Backstage passes to a TAFKAL80ETC concert') { - if (item.quality > 0) { - if (item.name != 'Sulfuras, Hand of Ragnaros') { - item.quality = item.quality - 1; - } - } - } else { - item.quality = item.quality - item.quality; - } - } else { + if (item.name == 'Sulfuras, Hand of Ragnaros') return + + if (item.name == 'Aged Brie') { if (item.quality < 50) { item.quality = item.quality + 1; } + return + } + + if (item.name == 'Backstage passes to a TAFKAL80ETC concert') { + item.quality = item.quality - item.quality; + return + } + + if (item.quality > 0) { + item.quality = item.quality - 1; + return } } } diff --git a/TypeScript/test/jest/gilded-rose.spec.ts b/TypeScript/test/jest/gilded-rose.spec.ts index ead1d129..5790821c 100644 --- a/TypeScript/test/jest/gilded-rose.spec.ts +++ b/TypeScript/test/jest/gilded-rose.spec.ts @@ -62,7 +62,7 @@ export class AcceptanceGildedRose { } test('acceptance tests', () => { - const names = ['Aged Brie', 'Backstage passes to a TAFKAL80ETC concert', 'Sulfuras, Hand of Ragnaros'] + const names = ['Aged Brie', 'Backstage passes to a TAFKAL80ETC concert', 'Sulfuras, Hand of Ragnaros', 'Other'] const sellIns = [-1, 0, 1, 2, 5, 6, 7, 10, 11, 12, 13, 14, 15] const qualities = [-1, 1, 2, 48, 49, 50, 51]