mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-11 20:02:09 +00:00
fixed directory structure
This commit is contained in:
parent
dae358a131
commit
40e7ea75c6
72
Java/src/main/java/com/gildedrose/GildedRose.java
Normal file
72
Java/src/main/java/com/gildedrose/GildedRose.java
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
class GildedRose {
|
||||||
|
Item[] items;
|
||||||
|
|
||||||
|
public GildedRose(Item[] items) {
|
||||||
|
this.items = items;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateQuality() {
|
||||||
|
for (int i = 0; i < items.length; i++) {
|
||||||
|
if (!items[i].name.equals("Aged Brie")
|
||||||
|
&& !items[i].name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||||
|
if (items[i].quality > 0) {
|
||||||
|
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||||
|
items[i].quality = items[i].quality - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else increaseQuality(items[i]);
|
||||||
|
|
||||||
|
if (!items[i].name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||||
|
items[i].sellIn = items[i].sellIn - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (items[i].sellIn < 0) {
|
||||||
|
handlePastSellin(items[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handlePastSellin(Item item) {
|
||||||
|
if (!item.name.equals("Aged Brie")) {
|
||||||
|
if (!item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||||
|
if (item.quality > 0) {
|
||||||
|
if (!item.name.equals("Sulfuras, Hand of Ragnaros")) {
|
||||||
|
item.quality = item.quality - 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
item.quality = 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (item.quality < 50) {
|
||||||
|
item.quality = item.quality + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void increaseQuality(Item item) {
|
||||||
|
if (item.quality < 50) {
|
||||||
|
item.quality = item.quality + 1;
|
||||||
|
|
||||||
|
if (item.name.equals("Backstage passes to a TAFKAL80ETC concert")) {
|
||||||
|
handleBackstagePass(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleBackstagePass(Item backstagePass) {
|
||||||
|
if (backstagePass.sellIn < 11) {
|
||||||
|
if (backstagePass.quality < 50) {
|
||||||
|
backstagePass.quality = backstagePass.quality + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (backstagePass.sellIn < 6) {
|
||||||
|
if (backstagePass.quality < 50) {
|
||||||
|
backstagePass.quality = backstagePass.quality + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
Java/src/main/java/com/gildedrose/Item.java
Normal file
21
Java/src/main/java/com/gildedrose/Item.java
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
public class Item {
|
||||||
|
|
||||||
|
public String name;
|
||||||
|
|
||||||
|
public int sellIn;
|
||||||
|
|
||||||
|
public int quality;
|
||||||
|
|
||||||
|
public Item(String name, int sellIn, int quality) {
|
||||||
|
this.name = name;
|
||||||
|
this.sellIn = sellIn;
|
||||||
|
this.quality = quality;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.name + ", " + this.sellIn + ", " + this.quality;
|
||||||
|
}
|
||||||
|
}
|
||||||
17
Java/src/test/java/com/gildedrose/GildedRoseTest.java
Normal file
17
Java/src/test/java/com/gildedrose/GildedRoseTest.java
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
public class GildedRoseTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void foo() {
|
||||||
|
Item[] items = new Item[] { new Item("foo", 0, 0) };
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
app.updateQuality();
|
||||||
|
assertEquals("fixme", app.items[0].name);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
37
Java/src/test/java/com/gildedrose/TexttestFixture.java
Normal file
37
Java/src/test/java/com/gildedrose/TexttestFixture.java
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
public class TexttestFixture {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println("OMGHAI!");
|
||||||
|
|
||||||
|
Item[] items = new Item[] {
|
||||||
|
new Item("+5 Dexterity Vest", 10, 20), //
|
||||||
|
new Item("Aged Brie", 2, 0), //
|
||||||
|
new Item("Elixir of the Mongoose", 5, 7), //
|
||||||
|
new Item("Sulfuras, Hand of Ragnaros", 0, 80), //
|
||||||
|
new Item("Sulfuras, Hand of Ragnaros", -1, 80),
|
||||||
|
new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20),
|
||||||
|
new Item("Backstage passes to a TAFKAL80ETC concert", 10, 49),
|
||||||
|
new Item("Backstage passes to a TAFKAL80ETC concert", 5, 49),
|
||||||
|
// this conjured item does not work properly yet
|
||||||
|
new Item("Conjured Mana Cake", 3, 6) };
|
||||||
|
|
||||||
|
GildedRose app = new GildedRose(items);
|
||||||
|
|
||||||
|
int days = 2;
|
||||||
|
if (args.length > 0) {
|
||||||
|
days = Integer.parseInt(args[0]) + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < days; i++) {
|
||||||
|
System.out.println("-------- day " + i + " --------");
|
||||||
|
System.out.println("name, sellIn, quality");
|
||||||
|
for (Item item : items) {
|
||||||
|
System.out.println(item);
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
app.updateQuality();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user