From f23572d5124d86b8dfd3f82760dbd823082c8d63 Mon Sep 17 00:00:00 2001 From: Konstantin Pavlov Date: Sun, 30 Jun 2019 06:54:14 +0200 Subject: [PATCH] backstage rule for 10+ days --- .../rules/BackstagePassQualityRule.java | 4 +++- .../com/gildedrose/GildedRoseBackstageTest.java | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java b/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java index 67a28c65..bc1b3556 100644 --- a/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java +++ b/Java/src/main/java/com/gildedrose/rules/BackstagePassQualityRule.java @@ -17,8 +17,10 @@ public class BackstagePassQualityRule implements QualityRule { newQuality = 0; } else if (sellIn < 5) { newQuality = oldQuality + 3; - } else { + } else if (sellIn < 10) { newQuality = oldQuality + 2; + } else { + newQuality = oldQuality + 1; } return new Result(min(newQuality, 50), true); } diff --git a/Java/src/test/java/com/gildedrose/GildedRoseBackstageTest.java b/Java/src/test/java/com/gildedrose/GildedRoseBackstageTest.java index 1de86ed8..de7311ad 100644 --- a/Java/src/test/java/com/gildedrose/GildedRoseBackstageTest.java +++ b/Java/src/test/java/com/gildedrose/GildedRoseBackstageTest.java @@ -18,6 +18,23 @@ class GildedRoseBackstageTest { private static final String ITEM_NAME = "Backstage passes to a TAFKAL80ETC concert"; + @Feature("Quality increases by 1 when there are more than 10 days") + @ParameterizedTest(name = "sellIn: {arguments}") + @ValueSource(ints = {112, 11}) + void shouldIncreaseQualityWhenThereAreMoreThan10Days(int sellIn) { + // given + val initialQuality = nextInt(10, 40); + GildedRose app = prepareApp(new Item(ITEM_NAME, sellIn, initialQuality)); + + // when + app.updateQuality(); + + // then + final Item item = app.items[0]; + assertItem(item, ITEM_NAME, sellIn - 1, initialQuality + 1); + } + + @Feature("Quality increases by 2 when there are 10 days or less") @ParameterizedTest(name = "sellIn: {arguments}") @ValueSource(ints = {10, 9, 8, 7, 6})