Add test for DefaultSellInBehavior

This commit is contained in:
Bjorn Misseghers 2021-04-13 08:54:53 +02:00
parent a282a8455e
commit 84f07913b6

View File

@ -0,0 +1,45 @@
package com.gildedrose.behavior.sellin;
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 DefaultSellInBehaviorTest {
private SellInBehavior sellInBehavior;
@BeforeEach
public void setUp() throws Exception {
sellInBehavior = new DefaultSellInBehavior();
}
@Test
void decreaseSellIn() {
Item item = getItem(10);
sellInBehavior.processSellInUpdate(item);
assertEquals(9, item.sellIn);
}
@Test
void decreaseSellInZero() {
Item item = getItem(0);
sellInBehavior.processSellInUpdate(item);
assertEquals(-1, item.sellIn);
}
@Test
void decreaseNegativeSellIn() {
Item item = getItem(-1);
sellInBehavior.processSellInUpdate(item);
assertEquals(-2, item.sellIn);
}
private Item getItem(int sellIn) {
return new Item("SomeItem", sellIn, 0);
}
}