From 2afaab83c0fb15846c4877ee191b2338ce19ac5a Mon Sep 17 00:00:00 2001 From: Yossri Ghabri Date: Tue, 25 Nov 2025 15:44:32 +0100 Subject: [PATCH] Add unit tests for BackstageItem quality increase and expiration --- .../com/gildedrose/BackstageItemTest.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Java/src/test/java/com/gildedrose/BackstageItemTest.java diff --git a/Java/src/test/java/com/gildedrose/BackstageItemTest.java b/Java/src/test/java/com/gildedrose/BackstageItemTest.java new file mode 100644 index 00000000..3ef13a0d --- /dev/null +++ b/Java/src/test/java/com/gildedrose/BackstageItemTest.java @@ -0,0 +1,39 @@ +package com.gildedrose; + +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +class BackstageItemTest { + + @Test + void backstageIncreasesByOneOver10Days() { + Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20); + GildedRose app = new GildedRose(new Item[]{item}); + app.updateQuality(); + assertEquals(21, item.quality); + } + + @Test + void backstageIncreasesByTwoBetween6And10Days() { + Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 10, 20); + GildedRose app = new GildedRose(new Item[]{item}); + app.updateQuality(); + assertEquals(22, item.quality); + } + + @Test + void backstageIncreasesByThreeBetween1And5Days() { + Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 5, 20); + GildedRose app = new GildedRose(new Item[]{item}); + app.updateQuality(); + assertEquals(23, item.quality); + } + + @Test + void backstageQualityDropsToZeroAfterConcert() { + Item item = new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20); + GildedRose app = new GildedRose(new Item[]{item}); + app.updateQuality(); + assertEquals(0, item.quality); + } +}