mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
Merge pull request #1 from Decker-Matthew-R/Test-Case-Branch
Added test cases and updated imports for JUnit 5
This commit is contained in:
commit
7d303043bd
@ -1,9 +1,10 @@
|
|||||||
package com.gildedrose;
|
package com.gildedrose;
|
||||||
|
|
||||||
class GildedRose {
|
class GildedRose {
|
||||||
Item[] items;
|
|
||||||
|
|
||||||
public GildedRose(Item[] items) {
|
private Item[] items;
|
||||||
|
|
||||||
|
public GildedRose(Item... items) {
|
||||||
this.items = items;
|
this.items = items;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,4 +60,8 @@ class GildedRose {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Item[] getItems() {
|
||||||
|
return items;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
35
Java/src/test/java/com/gildedrose/AgedBrieTest.java
Normal file
35
Java/src/test/java/com/gildedrose/AgedBrieTest.java
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static com.gildedrose.ItemTestHelper.assertItemEquals;
|
||||||
|
|
||||||
|
public class AgedBrieTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_AgedBrie_increasesInQuality() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Aged Brie", 2, 2));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Aged Brie", 1, 3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_AgedBrie_increasesInQuality_DoublesWhenOff() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Aged Brie", 0, 2));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Aged Brie", -1, 4));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_AgedBrie_cannotGoOver50Quality() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Aged Brie", 2, 50));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Aged Brie", 1, 50));
|
||||||
|
}
|
||||||
|
}
|
||||||
44
Java/src/test/java/com/gildedrose/BackStagePassesTest.java
Normal file
44
Java/src/test/java/com/gildedrose/BackStagePassesTest.java
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static com.gildedrose.ItemTestHelper.assertItemEquals;
|
||||||
|
|
||||||
|
public class BackStagePassesTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_BackStagePasses_increasesInQuality_byOneOutside10Days() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Backstage passes to a TAFKAL80ETC concert", 20, 2));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Backstage passes to a TAFKAL80ETC concert", 19, 3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_BackStagePasses_increasesInQuality_byTwoInside10Days() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Backstage passes to a TAFKAL80ETC concert", 10, 2));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Backstage passes to a TAFKAL80ETC concert", 9, 4));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_BackStagePasses_increasesInQuality_byThreeInside5Days() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Backstage passes to a TAFKAL80ETC concert", 5, 2));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Backstage passes to a TAFKAL80ETC concert", 4, 5));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_BackStagePasses_increasesInQuality_goesToZeroWhenSellInExpires() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Backstage passes to a TAFKAL80ETC concert", 0, 20));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Backstage passes to a TAFKAL80ETC concert", -1, 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static com.gildedrose.ItemTestHelper.assertItemEquals;
|
||||||
|
|
||||||
|
public class ConjureditemTestHelper {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_conjured_decreasesInQuality_twiceTheSpeed() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Conjured Mana Cake", 3, 6));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Conjured Mana Cake", 2, 4));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_conjured_decreasesInQuality_twiceTheSpeed_alsoWhenSellInExpired() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Conjured Mana Cake", 0, 6));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Conjured Mana Cake", -1, 2));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -2,16 +2,35 @@ package com.gildedrose;
|
|||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
import static com.gildedrose.ItemTestHelper.assertItemEquals;
|
||||||
|
|
||||||
class GildedRoseTest {
|
public class GildedRoseTest {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void foo() {
|
public void sellInDateDecreases_butQualityCannotBeNegative() {
|
||||||
Item[] items = new Item[] { new Item("foo", 0, 0) };
|
GildedRose app = new GildedRose(new Item("foo", 0, 0));
|
||||||
GildedRose app = new GildedRose(items);
|
|
||||||
app.updateQuality();
|
app.updateQuality();
|
||||||
assertEquals("foo", app.items[0].name);
|
|
||||||
}
|
assertItemEquals(app.getItems()[0], new Item("foo", -1, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void qualityDecreases() {
|
||||||
|
GildedRose app = new GildedRose(new Item("foo", 10, 10));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("foo", 9, 9));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void qualityDecreasesFasterAfterSellInDateExpired() {
|
||||||
|
GildedRose app = new GildedRose(new Item("foo", 0, 10));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("foo", -1, 8));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
16
Java/src/test/java/com/gildedrose/ItemTestHelper.java
Normal file
16
Java/src/test/java/com/gildedrose/ItemTestHelper.java
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
import com.gildedrose.Item;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Assertions;
|
||||||
|
|
||||||
|
public class ItemTestHelper {
|
||||||
|
|
||||||
|
public static void assertItemEquals(Item actual, Item expected) {
|
||||||
|
assertEquals(expected.name, actual.name);
|
||||||
|
assertEquals(expected.quality, actual.quality);
|
||||||
|
assertEquals(expected.sellIn, actual.sellIn);
|
||||||
|
}
|
||||||
|
}
|
||||||
17
Java/src/test/java/com/gildedrose/SulfurasTest.java
Normal file
17
Java/src/test/java/com/gildedrose/SulfurasTest.java
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
package com.gildedrose;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static com.gildedrose.ItemTestHelper.assertItemEquals;
|
||||||
|
|
||||||
|
public class SulfurasTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void item_Sulfuras_neverChanges() {
|
||||||
|
GildedRose app = new GildedRose(new Item("Sulfuras, Hand of Ragnaros", 100, 100));
|
||||||
|
|
||||||
|
app.updateQuality();
|
||||||
|
|
||||||
|
assertItemEquals(app.getItems()[0], new Item("Sulfuras, Hand of Ragnaros", 100, 100));
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,37 +1,63 @@
|
|||||||
|
|
||||||
package com.gildedrose;
|
package com.gildedrose;
|
||||||
|
|
||||||
public class TexttestFixture {
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
public static void main(String[] args) {
|
import org.junit.jupiter.api.Assertions;
|
||||||
System.out.println("OMGHAI!");
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
Item[] items = new Item[] {
|
import java.io.IOException;
|
||||||
new Item("+5 Dexterity Vest", 10, 20), //
|
import java.nio.file.Files;
|
||||||
new Item("Aged Brie", 2, 0), //
|
import java.nio.file.Paths;
|
||||||
new Item("Elixir of the Mongoose", 5, 7), //
|
|
||||||
new Item("Sulfuras, Hand of Ragnaros", 0, 80), //
|
import static java.lang.String.format;
|
||||||
|
|
||||||
|
public class TexttestFixture {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void checkAllIsGold() throws IOException {
|
||||||
|
String gold = new String(Files.readAllBytes(Paths.get("src/test/resources/gold.txt")));
|
||||||
|
|
||||||
|
String current = buildGold().toString();
|
||||||
|
|
||||||
|
Assertions.assertEquals(trimEachLine(gold +"\n"), trimEachLine(current));
|
||||||
|
}
|
||||||
|
|
||||||
|
private String trimEachLine(String string) {
|
||||||
|
return string.replaceAll("(?m)[\\s+&&[^\\n]]+$", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
StringBuilder builder = buildGold();
|
||||||
|
Files.write(Paths.get("src/test/resources/gold.txt"), builder.toString().getBytes());
|
||||||
|
}
|
||||||
|
|
||||||
|
private static StringBuilder buildGold() {
|
||||||
|
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("Sulfuras, Hand of Ragnaros", -1, 80),
|
||||||
new Item("Backstage passes to a TAFKAL80ETC concert", 15, 20),
|
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", 10, 49),
|
||||||
new Item("Backstage passes to a TAFKAL80ETC concert", 5, 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)
|
||||||
new Item("Conjured Mana Cake", 3, 6) };
|
};
|
||||||
|
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
GildedRose app = new GildedRose(items);
|
GildedRose app = new GildedRose(items);
|
||||||
|
for (int i = 0; i < 32; i++) {
|
||||||
int days = 2;
|
builder.append(format("------------------------- day %s -------------------------- %n", i));
|
||||||
if (args.length > 0) {
|
builder.append(format("%42s %6s %-8s %n", "NAME", "SELLIN", "QUALITY"));
|
||||||
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) {
|
for (Item item : items) {
|
||||||
System.out.println(item);
|
builder.append(format("%42s %6s %-8s %n", item.name, item.sellIn, item.quality));
|
||||||
}
|
}
|
||||||
System.out.println();
|
builder.append(format("%n"));
|
||||||
app.updateQuality();
|
app.updateQuality();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return builder;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
383
Java/src/test/resources/gold.txt
Normal file
383
Java/src/test/resources/gold.txt
Normal file
@ -0,0 +1,383 @@
|
|||||||
|
------------------------- day 0 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 10 20
|
||||||
|
Aged Brie 2 0
|
||||||
|
Elixir of the Mongoose 5 7
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 15 20
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 10 49
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 5 49
|
||||||
|
Conjured Mana Cake 3 6
|
||||||
|
|
||||||
|
------------------------- day 1 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 9 19
|
||||||
|
Aged Brie 1 1
|
||||||
|
Elixir of the Mongoose 4 6
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 14 21
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 9 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 4 50
|
||||||
|
Conjured Mana Cake 2 4
|
||||||
|
|
||||||
|
------------------------- day 2 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 8 18
|
||||||
|
Aged Brie 0 2
|
||||||
|
Elixir of the Mongoose 3 5
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 13 22
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 8 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 3 50
|
||||||
|
Conjured Mana Cake 1 2
|
||||||
|
|
||||||
|
------------------------- day 3 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 7 17
|
||||||
|
Aged Brie -1 4
|
||||||
|
Elixir of the Mongoose 2 4
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 12 23
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 7 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 2 50
|
||||||
|
Conjured Mana Cake 0 0
|
||||||
|
|
||||||
|
------------------------- day 4 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 6 16
|
||||||
|
Aged Brie -2 6
|
||||||
|
Elixir of the Mongoose 1 3
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 11 24
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 6 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 1 50
|
||||||
|
Conjured Mana Cake -1 0
|
||||||
|
|
||||||
|
------------------------- day 5 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 5 15
|
||||||
|
Aged Brie -3 8
|
||||||
|
Elixir of the Mongoose 0 2
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 10 25
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 5 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 0 50
|
||||||
|
Conjured Mana Cake -2 0
|
||||||
|
|
||||||
|
------------------------- day 6 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 4 14
|
||||||
|
Aged Brie -4 10
|
||||||
|
Elixir of the Mongoose -1 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 9 27
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 4 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -1 0
|
||||||
|
Conjured Mana Cake -3 0
|
||||||
|
|
||||||
|
------------------------- day 7 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 3 13
|
||||||
|
Aged Brie -5 12
|
||||||
|
Elixir of the Mongoose -2 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 8 29
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 3 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -2 0
|
||||||
|
Conjured Mana Cake -4 0
|
||||||
|
|
||||||
|
------------------------- day 8 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 2 12
|
||||||
|
Aged Brie -6 14
|
||||||
|
Elixir of the Mongoose -3 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 7 31
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 2 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -3 0
|
||||||
|
Conjured Mana Cake -5 0
|
||||||
|
|
||||||
|
------------------------- day 9 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 1 11
|
||||||
|
Aged Brie -7 16
|
||||||
|
Elixir of the Mongoose -4 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 6 33
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 1 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -4 0
|
||||||
|
Conjured Mana Cake -6 0
|
||||||
|
|
||||||
|
------------------------- day 10 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest 0 10
|
||||||
|
Aged Brie -8 18
|
||||||
|
Elixir of the Mongoose -5 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 5 35
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 0 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -5 0
|
||||||
|
Conjured Mana Cake -7 0
|
||||||
|
|
||||||
|
------------------------- day 11 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -1 8
|
||||||
|
Aged Brie -9 20
|
||||||
|
Elixir of the Mongoose -6 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 4 38
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -1 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -6 0
|
||||||
|
Conjured Mana Cake -8 0
|
||||||
|
|
||||||
|
------------------------- day 12 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -2 6
|
||||||
|
Aged Brie -10 22
|
||||||
|
Elixir of the Mongoose -7 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 3 41
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -2 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -7 0
|
||||||
|
Conjured Mana Cake -9 0
|
||||||
|
|
||||||
|
------------------------- day 13 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -3 4
|
||||||
|
Aged Brie -11 24
|
||||||
|
Elixir of the Mongoose -8 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 2 44
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -3 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -8 0
|
||||||
|
Conjured Mana Cake -10 0
|
||||||
|
|
||||||
|
------------------------- day 14 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -4 2
|
||||||
|
Aged Brie -12 26
|
||||||
|
Elixir of the Mongoose -9 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 1 47
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -4 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -9 0
|
||||||
|
Conjured Mana Cake -11 0
|
||||||
|
|
||||||
|
------------------------- day 15 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -5 0
|
||||||
|
Aged Brie -13 28
|
||||||
|
Elixir of the Mongoose -10 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert 0 50
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -5 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -10 0
|
||||||
|
Conjured Mana Cake -12 0
|
||||||
|
|
||||||
|
------------------------- day 16 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -6 0
|
||||||
|
Aged Brie -14 30
|
||||||
|
Elixir of the Mongoose -11 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -1 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -6 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -11 0
|
||||||
|
Conjured Mana Cake -13 0
|
||||||
|
|
||||||
|
------------------------- day 17 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -7 0
|
||||||
|
Aged Brie -15 32
|
||||||
|
Elixir of the Mongoose -12 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -2 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -7 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -12 0
|
||||||
|
Conjured Mana Cake -14 0
|
||||||
|
|
||||||
|
------------------------- day 18 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -8 0
|
||||||
|
Aged Brie -16 34
|
||||||
|
Elixir of the Mongoose -13 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -3 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -8 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -13 0
|
||||||
|
Conjured Mana Cake -15 0
|
||||||
|
|
||||||
|
------------------------- day 19 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -9 0
|
||||||
|
Aged Brie -17 36
|
||||||
|
Elixir of the Mongoose -14 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -4 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -9 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -14 0
|
||||||
|
Conjured Mana Cake -16 0
|
||||||
|
|
||||||
|
------------------------- day 20 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -10 0
|
||||||
|
Aged Brie -18 38
|
||||||
|
Elixir of the Mongoose -15 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -5 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -10 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -15 0
|
||||||
|
Conjured Mana Cake -17 0
|
||||||
|
|
||||||
|
------------------------- day 21 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -11 0
|
||||||
|
Aged Brie -19 40
|
||||||
|
Elixir of the Mongoose -16 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -6 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -11 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -16 0
|
||||||
|
Conjured Mana Cake -18 0
|
||||||
|
|
||||||
|
------------------------- day 22 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -12 0
|
||||||
|
Aged Brie -20 42
|
||||||
|
Elixir of the Mongoose -17 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -7 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -12 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -17 0
|
||||||
|
Conjured Mana Cake -19 0
|
||||||
|
|
||||||
|
------------------------- day 23 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -13 0
|
||||||
|
Aged Brie -21 44
|
||||||
|
Elixir of the Mongoose -18 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -8 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -13 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -18 0
|
||||||
|
Conjured Mana Cake -20 0
|
||||||
|
|
||||||
|
------------------------- day 24 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -14 0
|
||||||
|
Aged Brie -22 46
|
||||||
|
Elixir of the Mongoose -19 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -9 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -14 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -19 0
|
||||||
|
Conjured Mana Cake -21 0
|
||||||
|
|
||||||
|
------------------------- day 25 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -15 0
|
||||||
|
Aged Brie -23 48
|
||||||
|
Elixir of the Mongoose -20 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -10 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -15 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -20 0
|
||||||
|
Conjured Mana Cake -22 0
|
||||||
|
|
||||||
|
------------------------- day 26 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -16 0
|
||||||
|
Aged Brie -24 50
|
||||||
|
Elixir of the Mongoose -21 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -11 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -16 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -21 0
|
||||||
|
Conjured Mana Cake -23 0
|
||||||
|
|
||||||
|
------------------------- day 27 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -17 0
|
||||||
|
Aged Brie -25 50
|
||||||
|
Elixir of the Mongoose -22 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -12 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -17 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -22 0
|
||||||
|
Conjured Mana Cake -24 0
|
||||||
|
|
||||||
|
------------------------- day 28 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -18 0
|
||||||
|
Aged Brie -26 50
|
||||||
|
Elixir of the Mongoose -23 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -13 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -18 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -23 0
|
||||||
|
Conjured Mana Cake -25 0
|
||||||
|
|
||||||
|
------------------------- day 29 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -19 0
|
||||||
|
Aged Brie -27 50
|
||||||
|
Elixir of the Mongoose -24 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -14 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -19 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -24 0
|
||||||
|
Conjured Mana Cake -26 0
|
||||||
|
|
||||||
|
------------------------- day 30 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -20 0
|
||||||
|
Aged Brie -28 50
|
||||||
|
Elixir of the Mongoose -25 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -15 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -20 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -25 0
|
||||||
|
Conjured Mana Cake -27 0
|
||||||
|
|
||||||
|
------------------------- day 31 --------------------------
|
||||||
|
NAME SELLIN QUALITY
|
||||||
|
+5 Dexterity Vest -21 0
|
||||||
|
Aged Brie -29 50
|
||||||
|
Elixir of the Mongoose -26 0
|
||||||
|
Sulfuras, Hand of Ragnaros 0 80
|
||||||
|
Sulfuras, Hand of Ragnaros -1 80
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -16 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -21 0
|
||||||
|
Backstage passes to a TAFKAL80ETC concert -26 0
|
||||||
|
Conjured Mana Cake -28 0
|
||||||
Loading…
Reference in New Issue
Block a user