mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
Unkwon Check
This commit is contained in:
parent
3aa58d892d
commit
82a70cf8e1
@ -9,11 +9,23 @@ class GildedRose {
|
|||||||
|
|
||||||
public void updateQuality() {
|
public void updateQuality() {
|
||||||
for (int i = 0; i < items.length; i++) {
|
for (int i = 0; i < items.length; i++) {
|
||||||
|
if(isUnknown(items[i].name)){
|
||||||
|
|
||||||
|
if (items[i].quality > 0) {
|
||||||
|
items[i].quality = items[i].quality - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (items[i].sellIn < 0 && items[i].quality > 0) {
|
||||||
|
items[i].quality = items[i].quality - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!items[i].name.equals("Aged Brie")
|
if (!items[i].name.equals("Aged Brie")
|
||||||
&& !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
&& !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||||
if (items[i].quality > 0) {
|
if (items[i].quality > 0) {
|
||||||
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) {
|
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||||
items[i].quality = items[i].quality - 1;
|
//items[i].quality = items[i].quality - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -45,7 +57,7 @@ class GildedRose {
|
|||||||
if (!items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
if (!items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||||
if (items[i].quality > 0) {
|
if (items[i].quality > 0) {
|
||||||
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) {
|
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||||
items[i].quality = items[i].quality - 1;
|
// items[i].quality = items[i].quality - 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -59,4 +71,10 @@ class GildedRose {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isUnknown(String name) {
|
||||||
|
return !name.equals("Aged Brie")
|
||||||
|
&& !name.equals("Backstage passes to a TAFKAL80ETC concert")
|
||||||
|
&& !name.equals("Sulfuras, Hand of Ragnaros");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -9,30 +9,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
|
|||||||
class GildedRoseShould {
|
class GildedRoseShould {
|
||||||
|
|
||||||
|
|
||||||
@Test
|
// unknown CHECK
|
||||||
void when_item_name_is_not_AgedBrie_and_not_Backstage_and_not_Sulfuras_and_quality_is_0_then_should_decrease_sellIn_and_maintains_quality() {
|
// sulfuras
|
||||||
Item[] items = {new Item("NOT Sulfuras, Hand of Ragnaros", 10, 0)};
|
|
||||||
GildedRose gildedRose = new GildedRose(items);
|
|
||||||
|
|
||||||
gildedRose.updateQuality();
|
|
||||||
|
|
||||||
assertEquals(9, gildedRose.items[0].sellIn);
|
|
||||||
assertEquals(0, gildedRose.items[0].quality);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void when_item_name_is_not_AgedBrie_and_not_Backstage_and_not_Sulfuras_and_quality_is_greather_than_0_then_should_decrease_quality_and_sellIn_in_1() {
|
void when_item_name_is_AgedBrie_and_quality_is_lt_50_then_should_decrease_sellIn_and_increase_quality_in_1() {
|
||||||
Item[] items = {new Item("NOT Sulfuras, Hand of Ragnaros", 10, 10)};
|
|
||||||
GildedRose gildedRose = new GildedRose(items);
|
|
||||||
|
|
||||||
gildedRose.updateQuality();
|
|
||||||
|
|
||||||
assertEquals(9, gildedRose.items[0].sellIn);
|
|
||||||
assertEquals(9, gildedRose.items[0].quality);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void when_item_name_is_AgedBrie_and_quality_is_less_than_50_then_should_decrease_sellIn_and_increase_quality_in_1() {
|
|
||||||
Item[] items = {new Item("Aged Brie", 10, 40)};
|
Item[] items = {new Item("Aged Brie", 10, 40)};
|
||||||
GildedRose gildedRose = new GildedRose(items);
|
GildedRose gildedRose = new GildedRose(items);
|
||||||
|
|
||||||
@ -43,7 +24,7 @@ class GildedRoseShould {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void when_item_is_Backstage_and_sellIn_is_less_than_6_and_quality_is_less_than_48_then_should_increase_in_3_quality_and_decrease_sellIn_in_1() {
|
void when_item_is_Backstage_and_sellIn_is_lt_6_and_quality_is_lt_48_then_should_increase_in_3_quality_and_decrease_sellIn_in_1() {
|
||||||
Item[] items = {new Item("Backstage passes to a TAFKAL80ETC concert", 5, 47)};
|
Item[] items = {new Item("Backstage passes to a TAFKAL80ETC concert", 5, 47)};
|
||||||
GildedRose gildedRose = new GildedRose(items);
|
GildedRose gildedRose = new GildedRose(items);
|
||||||
|
|
||||||
@ -54,7 +35,7 @@ class GildedRoseShould {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void when_item_is_AgedBrie_and_quality_is_less_than_49_and_sellin_is_less_than_0_then_quality_should_increase_in_1_and_decrease_sellIn_in_1(){
|
void when_item_is_AgedBrie_and_quality_is_lt_49_and_sellin_is_lt_0_then_quality_should_increase_in_1_and_decrease_sellIn_in_1(){
|
||||||
Item [] items = {new Item("Aged Brie",-1, 48)};
|
Item [] items = {new Item("Aged Brie",-1, 48)};
|
||||||
|
|
||||||
GildedRose gildedRose = new GildedRose(items);
|
GildedRose gildedRose = new GildedRose(items);
|
||||||
@ -67,7 +48,7 @@ class GildedRoseShould {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void when_item_is_Backstage_and_sellIn_is_less_than_0_then_quality_should_be_set_in_0_and_decreases_sellIn_in_1(){
|
void when_item_is_Backstage_and_sellIn_is_lt_0_then_quality_should_be_set_in_0_and_decreases_sellIn_in_1(){
|
||||||
Item [] items = {new Item("Backstage passes to a TAFKAL80ETC concert",-1,999)};
|
Item [] items = {new Item("Backstage passes to a TAFKAL80ETC concert",-1,999)};
|
||||||
|
|
||||||
GildedRose gildedRose = new GildedRose(items);
|
GildedRose gildedRose = new GildedRose(items);
|
||||||
@ -78,8 +59,33 @@ class GildedRoseShould {
|
|||||||
assertEquals(-2, gildedRose.items[0].sellIn);
|
assertEquals(-2, gildedRose.items[0].sellIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// unknown CHECK
|
||||||
@Test
|
@Test
|
||||||
void when_item_is_unknown_and_quality_is_more_than_0_then_should_decrease_quality_in_2_and_decrease_sellIn_in_1(){
|
void when_item_name_is_unknown_and_quality_is_lt_0_and_sellin_is_gt_0_then_should_maintains_quality_and_decrease_sellin_1() {
|
||||||
|
Item[] items = {new Item("Another Different Item", 10, -1)};
|
||||||
|
GildedRose gildedRose = new GildedRose(items);
|
||||||
|
|
||||||
|
gildedRose.updateQuality();
|
||||||
|
|
||||||
|
assertEquals(9, gildedRose.items[0].sellIn);
|
||||||
|
assertEquals(-1, gildedRose.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void when_item_name_is_unknown_and_quality_is_gt_0_and_sellin_is_gt_0_then_should_decrease_quality_in_1_and_sellIn_in_1() {
|
||||||
|
Item[] items = {new Item("Another Different Item", 10, 10)};
|
||||||
|
GildedRose gildedRose = new GildedRose(items);
|
||||||
|
|
||||||
|
gildedRose.updateQuality();
|
||||||
|
|
||||||
|
assertEquals(9, gildedRose.items[0].sellIn);
|
||||||
|
assertEquals(9, gildedRose.items[0].quality);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void when_item_is_unknown_and_quality_is_gt_0_and_sellin_is_lt_0__then_should_decrease_quality_in_2_and_decrease_sellIn_in_1(){
|
||||||
Item [] items = new Item[]{new Item("Another Different Item", -1, 999)};
|
Item [] items = new Item[]{new Item("Another Different Item", -1, 999)};
|
||||||
|
|
||||||
GildedRose gildedRose = new GildedRose(items);
|
GildedRose gildedRose = new GildedRose(items);
|
||||||
@ -90,4 +96,5 @@ class GildedRoseShould {
|
|||||||
assertEquals(-2, gildedRose.items[0].sellIn);
|
assertEquals(-2, gildedRose.items[0].sellIn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user