GildedRose { public static void updateQualityOf(Item item) { if ((!isAgedBrie(item)) && !"Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) { if (item.getQuality() > 0) { if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) { item.setQuality(item.getQuality() - 1); } } } else { if (item.getQuality() < 50) { item.setQuality(item.getQuality() + 1); if ("Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) { if (item.getSellIn() < 11) { if (item.getQuality() < 50) { item.setQuality( item.getQuality() + 1); } } if (item.getSellIn() < 6) { if ( item.getQuality() < 50) { item.setQuality(item.getQuality() + 1); } } } } } if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) { item.setSellIn(item.getSellIn() - 1); } if (item.getSellIn() < 0) { if (!isAgedBrie(item)) { if (!"Backstage passes to a TAFKAL80ETC concert".equals(item.getName())) { if (item.getQuality() > 0) { if (!"Sulfuras, Hand of Ragnaros".equals(item.getName())) { item.setQuality(item.getQuality() - 1); } } } else { item.setQuality(item.getQuality() - item.getQuality()); } } else { if (item.getQuality() < 50) { item.setQuality(item.getQuality() + 1); } } } }  static void main(String[] args); static void updateQuality(); static void updateQualityOf(Item item);  }
@Test public void testThatQualityOfItemDecreasesByOneIfSellDateDidNotPass() { Item item = new Item("An item", 1, 50); GildedRose.updateQualityOf(item); assertThat(item.getQuality()).isEqualTo(49); }
@Test public void testThatQualityOfItemDecreasesByTwoIfSellDatePassed() { Item item = new Item("An item", 0, 50); GildedRose.updateQualityOf(item); assertThat(item.getQuality()).isEqualTo(48); }