Create class for normal items

This commit is contained in:
Alvaro Gomez Traveso 2022-12-16 11:41:49 +01:00
parent 523e656a25
commit 774cc1720b
2 changed files with 44 additions and 0 deletions

View File

@ -0,0 +1,20 @@
package com.gildedrose.items;
import com.gildedrose.Quality;
import com.gildedrose.SellIn;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
public class NormalItem extends GildedRoseItem {
public NormalItem(String name, SellIn sellIn, Quality quality, boolean conjured) {
super(name, sellIn, quality, conjured);
}
@Override
protected Quality nextQuality(Quality previous) {
Quality nextQuality = previous.copy();
nextQuality.decrement();
return nextQuality;
}
}

View File

@ -0,0 +1,24 @@
package com.gildedrose.items;
import static org.assertj.core.api.Assertions.assertThat;
import com.gildedrose.Quality;
import com.gildedrose.SellIn;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
class NormalItemTest {
@Nested
class nextQuality {
private final NormalItem item =
new NormalItem("+5 Dexterity Vest", SellIn.create(10), Quality.create(1), Boolean.FALSE);
@Test
void should_decrement_quality_in_one() {
Quality nextQuality = item.nextQuality(Quality.create(1));
assertThat(nextQuality.getValue()).isZero();
}
}
}