From 5459470d107628e2f7fce01a13959d5afc245521 Mon Sep 17 00:00:00 2001 From: Remus Decea Date: Mon, 13 Nov 2023 11:57:20 +0200 Subject: [PATCH] Generalize Sulfuras condition --- Java/src/main/java/com/gildedrose/GildedRose.java | 9 +++------ Java/src/test/java/com/gildedrose/GildedRoseTest.java | 5 ++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index a79667c4..f2273ee9 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -7,14 +7,13 @@ class GildedRose { Item[] items; public static String backStagePasses = "Backstage passes to a TAFKAL80ETC concert"; - public static String sulfuras = "Sulfuras, Hand of Ragnaros"; public static String agedBrie = "Aged Brie"; public GildedRose(Item[] items) { this.items = items; } public void updateQuality() { - Item[] agingItems = Arrays.stream(items).filter(i -> !i.name.equals(sulfuras)).toArray(Item[]::new); + Item[] agingItems = Arrays.stream(items).filter(i -> !i.name.toLowerCase().contains("sulfuras")).toArray(Item[]::new); Stream bries = Arrays.stream(agingItems).filter(i -> i.name.equals(agedBrie)); Stream backstagePasses = Arrays.stream(agingItems).filter(i -> i.name.equals(backStagePasses)); Stream standardItems = Arrays.stream(agingItems).filter(i -> !i.name.equals(backStagePasses) && !i.name.equals(agedBrie)); @@ -30,12 +29,10 @@ class GildedRose { item.quality = Math.min(Math.max(item.quality + factor, 0), 50); } private void changeQualityOfStandardItems(Item item) { - final int decreaseFactor = (item.sellIn > 0) ? -1 : -2; - changeQuality(item, decreaseFactor); + changeQuality(item, (item.sellIn > 0) ? -1 : -2); } private void changeQualityOfBries(Item item) { - final int increaseFactor = (item.sellIn > 0) ? 1 : 2; - changeQuality(item, increaseFactor); + changeQuality(item, (item.sellIn > 0) ? 1 : 2); } private void changeQualityOfPasses(Item item) { if (item.sellIn < 0) { diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index 07dc2111..0daff754 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -77,12 +77,15 @@ class GildedRoseTest { void sulfurasNeverDecreases(){ //TODO: Sulfuras should be protected against instantiation with quality != 80 Item[] items = new Item[]{ - new Item(GildedRose.sulfuras, 100, 80) + new Item("Sulfuras, Hand of Ragnaros", 100, 80), + new Item("SULFURAS, pants of Ragnar Lothbrok", 200, 80) }; GildedRose app = new GildedRose(items); app.updateQuality(); assertEquals(app.items[0].quality, 80); assertEquals(app.items[0].sellIn, 100); + assertEquals(app.items[1].quality, 80); + assertEquals(app.items[1].sellIn, 200); } @Test