From 143a45192c3e14ecca0ae90a6c7ddd984ded5f07 Mon Sep 17 00:00:00 2001 From: Velizar Todorov Date: Thu, 25 Nov 2021 18:16:12 +0100 Subject: [PATCH] :white_check_mark: normal item unit test --- .../java/com/gildedrose/NormalItemTest.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Java/src/test/java/com/gildedrose/NormalItemTest.java diff --git a/Java/src/test/java/com/gildedrose/NormalItemTest.java b/Java/src/test/java/com/gildedrose/NormalItemTest.java new file mode 100644 index 00000000..fdaebb3b --- /dev/null +++ b/Java/src/test/java/com/gildedrose/NormalItemTest.java @@ -0,0 +1,50 @@ +package com.gildedrose; + +import com.gildedrose.main.GildedRose; +import com.gildedrose.main.Item; +import org.junit.jupiter.api.Test; + +import static com.gildedrose.item_helpers.ItemName.NORMAL; +import static org.junit.jupiter.api.Assertions.*; + +class NormalItemTest { + + @Test + void decrementQualityByOneSuccess() { + // given + Item normalItem = new Item(NORMAL.toString(), 5, 20); + GildedRose app = new GildedRose(normalItem); + // when + int days = 2; + for (int i = 0; i < days; i++) { + app.updateQuality(); + } + //then + assertEquals(18, normalItem.quality); + assertEquals(3, normalItem.sellIn); + } + + @Test + void decrementQualityByTwoSuccess() { + // given + Item normalItem = new Item(NORMAL.toString(), 10, 20); + GildedRose app = new GildedRose(normalItem); + // when + int days = 15; + for (int i = 0; i < days; i++) { + app.updateQuality(); + } + //then + assertEquals(0, normalItem.quality); + assertEquals(-5, normalItem.sellIn); + } + + @Test + void negativeQualityFail() { + Item normalItem = new Item(NORMAL.toString(), 10, -5); + GildedRose app = new GildedRose(normalItem); + Exception exception = assertThrows(IllegalArgumentException.class, app::updateQuality); + String actualMessage = exception.getMessage(); + assertTrue(actualMessage.contains("Quality cannot be negative! Current value:")); + } +}