From 45ef8fc2adcb5b967832c7781c28363d35d5de5c Mon Sep 17 00:00:00 2001 From: Bjorn Misseghers Date: Tue, 13 Apr 2021 08:55:09 +0200 Subject: [PATCH] Add test for DefaultQualityBehavior --- .../quality/DefaultQualityBehaviorTest.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Java/src/test/java/com/gildedrose/behavior/quality/DefaultQualityBehaviorTest.java diff --git a/Java/src/test/java/com/gildedrose/behavior/quality/DefaultQualityBehaviorTest.java b/Java/src/test/java/com/gildedrose/behavior/quality/DefaultQualityBehaviorTest.java new file mode 100644 index 00000000..7708c8c5 --- /dev/null +++ b/Java/src/test/java/com/gildedrose/behavior/quality/DefaultQualityBehaviorTest.java @@ -0,0 +1,45 @@ +package com.gildedrose.behavior.quality; + +import com.gildedrose.Item; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DefaultQualityBehaviorTest { + + private QualityBehavior qualityBehavior; + + @BeforeEach + public void setUp() throws Exception { + qualityBehavior = new DefaultQualityBehavior(); + } + + @Test + void decreaseQuality() { + Item item = getItem(10); + qualityBehavior.processQualityUpdate(item); + + assertEquals(9, item.quality); + } + + @Test + void decreaseNegativeQuality() { + Item item = getItem(-10); + qualityBehavior.processQualityUpdate(item); + + assertEquals(0, item.quality); + } + + @Test + void decreaseQualityZero() { + Item item = getItem(0); + qualityBehavior.processQualityUpdate(item); + + assertEquals(0, item.quality); + } + + private Item getItem(int quality) { + return new Item("SomeItem", 0, quality); + } +}