Create class for age brie items

This commit is contained in:
Alvaro Gomez Traveso 2022-12-16 11:42:04 +01:00
parent 774cc1720b
commit 0c801848ed
2 changed files with 43 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 AgedBrieItem extends GildedRoseItem {
public AgedBrieItem(SellIn sellIn, Quality quality, boolean conjured) {
super("Aged Brie", sellIn, quality, conjured);
}
@Override
protected Quality nextQuality(Quality previous) {
Quality nextQuality = previous.copy();
nextQuality.increment();
return nextQuality;
}
}

View File

@ -0,0 +1,23 @@
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 AgedBrieItemTest {
private final AgedBrieItem item =
new AgedBrieItem(SellIn.create(2), Quality.create(0), Boolean.FALSE);
@Nested
class nextQuality {
@Test
void should_increment_quality_in_one() {
Quality nextQuality = item.nextQuality(Quality.create(0));
assertThat(nextQuality).isEqualTo(Quality.create(1));
}
}
}