From 6564125ba3c9cb512b7eb34c1bb949b171faa8a5 Mon Sep 17 00:00:00 2001 From: Kadir Sirimsi Date: Mon, 10 Feb 2025 12:09:41 +0100 Subject: [PATCH] refactor: name never changes once an item is created --- .../src/main/java/com/gildedrose/GildedRose.java | 16 ++++++++-------- Java/src/main/java/com/gildedrose/Item.java | 6 +++++- .../test/java/com/gildedrose/GildedRoseTest.java | 13 +++++++++---- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Java/src/main/java/com/gildedrose/GildedRose.java b/Java/src/main/java/com/gildedrose/GildedRose.java index 6300bb84..9b6d4307 100644 --- a/Java/src/main/java/com/gildedrose/GildedRose.java +++ b/Java/src/main/java/com/gildedrose/GildedRose.java @@ -9,10 +9,10 @@ class GildedRose { public void updateQuality() { for (Item item : items) { - if (!item.name.equals("Aged Brie") - && !item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { + if (!item.getName().equals("Aged Brie") + && !item.getName().equals("Backstage passes to a TAFKAL80ETC concert")) { if (item.quality > 0) { - if (!item.name.equals("Sulfuras, Hand of Ragnaros")) { + if (!item.getName().equals("Sulfuras, Hand of Ragnaros")) { item.quality = item.quality - 1; } } @@ -20,7 +20,7 @@ class GildedRose { if (item.quality < 50) { item.quality = item.quality + 1; - if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { + if (item.getName().equals("Backstage passes to a TAFKAL80ETC concert")) { if (item.sellIn < 11) { if (item.quality < 50) { item.quality = item.quality + 1; @@ -36,15 +36,15 @@ class GildedRose { } } - if (!item.name.equals("Sulfuras, Hand of Ragnaros")) { + if (!item.getName().equals("Sulfuras, Hand of Ragnaros")) { item.sellIn = item.sellIn - 1; } if (item.sellIn < 0) { - if (!item.name.equals("Aged Brie")) { - if (!item.name.equals("Backstage passes to a TAFKAL80ETC concert")) { + if (!item.getName().equals("Aged Brie")) { + if (!item.getName().equals("Backstage passes to a TAFKAL80ETC concert")) { if (item.quality > 0) { - if (!item.name.equals("Sulfuras, Hand of Ragnaros")) { + if (!item.getName().equals("Sulfuras, Hand of Ragnaros")) { item.quality = item.quality - 1; } } diff --git a/Java/src/main/java/com/gildedrose/Item.java b/Java/src/main/java/com/gildedrose/Item.java index 465729ec..0abe7da0 100644 --- a/Java/src/main/java/com/gildedrose/Item.java +++ b/Java/src/main/java/com/gildedrose/Item.java @@ -2,7 +2,7 @@ package com.gildedrose; public class Item { - public String name; + private final String name; public int sellIn; @@ -14,6 +14,10 @@ public class Item { this.quality = quality; } + public String getName() { + return name; + } + @Override public String toString() { return this.name + ", " + this.sellIn + ", " + this.quality; diff --git a/Java/src/test/java/com/gildedrose/GildedRoseTest.java b/Java/src/test/java/com/gildedrose/GildedRoseTest.java index 7c5fc0a2..a91c55a7 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseTest.java @@ -7,11 +7,16 @@ import static org.junit.jupiter.api.Assertions.assertEquals; class GildedRoseTest { @Test - void foo() { - Item[] items = new Item[] { new Item("foo", 0, 0) }; - GildedRose app = new GildedRose(items); + void givenListOfItems_whenUpdateQuality_thenNameRemainsUnchanged() { + final var name = "foo"; + + var items = new Item[] { new Item(name, 0, 0) }; + var app = new GildedRose(items); + app.updateQuality(); - assertEquals("foo", app.items[0].name); + + assertEquals(name, app.items[0].getName()); } + }