mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-10-16 10:55:09 +00:00
Initial port.
This commit is contained in:
1 parent
1406987c44
commit
a91a6ef695
3 files changed
+97
No files matched your search
@@ -0,0 +1,65 @@
|
||||
GildedRose := Object clone do(
|
||||
|
||||
init := method(
|
||||
self items := list()
|
||||
)
|
||||
|
||||
with := method(items,
|
||||
result := self clone
|
||||
result items = items
|
||||
result
|
||||
)
|
||||
|
||||
updateQuality := method(
|
||||
for(i, 0, items size - 1,
|
||||
if (items at(i) name != "Aged Brie" and
|
||||
items at(i) name != "Backstage passes to a TAFKAL80ETC concert",
|
||||
if (items at(i) quality > 0,
|
||||
if (items at(i) name != "Sulfuras, Hand of Ragnaros",
|
||||
items at(i) quality = items at(i) quality - 1
|
||||
)
|
||||
)
|
||||
,
|
||||
if (items at(i) quality < 50,
|
||||
items at(i) quality = items at(i) quality + 1
|
||||
|
||||
if (items at(i) name == "Backstage passes to a TAFKAL80ETC concert",
|
||||
if (items at(i) sellIn < 11,
|
||||
if (items at(i) quality < 50,
|
||||
items at(i) quality = items at(i) quality + 1
|
||||
)
|
||||
)
|
||||
|
||||
if (items at(i) sellIn < 6,
|
||||
if (items at(i) quality < 50,
|
||||
items at(i) quality = items at(i) quality + 1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
if (items at(i) name != "Sulfuras, Hand of Ragnaros",
|
||||
items at(i) sellIn = items at(i) sellIn - 1
|
||||
)
|
||||
|
||||
if (items at(i) sellIn < 0,
|
||||
if (items at(i) name != "Aged Brie",
|
||||
if (items at(i) name != "Backstage passes to a TAFKAL80ETC concert",
|
||||
if (items at(i) quality > 0,
|
||||
if (items at(i) name != "Sulfuras, Hand of Ragnaros",
|
||||
items at(i) quality = items at(i) quality - 1
|
||||
)
|
||||
)
|
||||
,
|
||||
items at(i) quality = items at(i) quality - items at(i) quality
|
||||
)
|
||||
,
|
||||
if (items at(i) quality < 50,
|
||||
items at(i) quality = items at(i) quality + 1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,19 @@
|
||||
Item := Object clone do(
|
||||
|
||||
name := ""
|
||||
sellIn := 0
|
||||
quality := 0
|
||||
|
||||
with := method(name, sellIn, quality,
|
||||
result := self clone
|
||||
result name = name
|
||||
result sellIn = sellIn
|
||||
result quality = quality
|
||||
result
|
||||
)
|
||||
|
||||
asString = method(
|
||||
self name .. ", " .. self sellIn .. ", " .. self quality
|
||||
)
|
||||
|
||||
)
|
||||
@@ -0,0 +1,13 @@
|
||||
doRelativeFile("../../io/Item.io")
|
||||
doRelativeFile("../../io/GildedRose.io")
|
||||
|
||||
GildedRoseTest := UnitTest clone do(
|
||||
|
||||
testFoo := method(
|
||||
items := list( Item with("foo", 0, 0) )
|
||||
app := GildedRose with(items)
|
||||
app updateQuality
|
||||
assertEquals("fixme", app items at(0) name)
|
||||
)
|
||||
|
||||
)
|
||||
Reference in new issue
Block a user