mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-10-15 18:43:53 +00:00
updated tests and added README, based on review feedback.
This commit is contained in:
1 parent
42d6bce336
commit
4f43ddb78f
6 files changed
+76
-31
No files matched your search
@@ -0,0 +1,46 @@
|
||||
(defn item [name quality sell-in] @{:name name :quality quality :sell-in sell-in})
|
||||
|
||||
(defn update-quality [items]
|
||||
(for i 0 (length items)
|
||||
(if (and
|
||||
(not (= "Aged Brie" ((get items i) :name)))
|
||||
(not (= "Backstage passes to a TAFKAL80ETC concert" ((get items i) :name))))
|
||||
(if (< 0 ((get items i) :quality))
|
||||
(if (not (= "Sulfuras, Hand of Ragnaros" ((get items i) :name)))
|
||||
(put (get items i) :quality (- ((get items i) :quality) 1))))
|
||||
(if (> 50 ((get items i) :quality))
|
||||
(do
|
||||
(put (get items i) :quality (+ ((get items i) :quality) 1))
|
||||
(if (= "Backstage passes to a TAFKAL80ETC concert" ((get items i) :name))
|
||||
(do
|
||||
(if (> 11 ((get items i) :sell-in))
|
||||
(if (> 50 ((get items i) :quality))
|
||||
(put (get items i) :quality (+ ((get items i) :quality) 1))))
|
||||
(if (> 6 ((get items i) :sell-in))
|
||||
(if (> 50 ((get items i) :quality))
|
||||
(put (get items i) :quality (+ ((get items i) :quality) 1)))))))))
|
||||
(if (not (= "Sulfuras, Hand of Ragnaros" ((get items i) :name)))
|
||||
(put (get items i) :sell-in (- ((get items i) :sell-in) 1)))
|
||||
(if (> 0 ((get items i) :sell-in))
|
||||
(if (not (= "Aged Brie" ((get items i) :name)))
|
||||
(if (not (= "Backstage passes to a TAFKAL80ETC concert" ((get items i) :name)))
|
||||
(if (< 0 ((get items i) :quality))
|
||||
(if (not (= "Sulfuras, Hand of Ragnaros" ((get items i) :name)))
|
||||
(put (get items i) :quality (- ((get items i) :quality) 1))))
|
||||
(put (get items i) :quality (- ((get items i) :quality) ((get items i) :quality))))
|
||||
(if (> 50 ((get items i) :quality))
|
||||
(put (get items i) :quality (+ ((get items i) :quality) 1)))))))
|
||||
|
||||
(defn- item-to-str [x]
|
||||
(string (get x :name) ", " (get x :sell-in) ", " (get x :quality)))
|
||||
|
||||
(defn run [days items]
|
||||
(print "OMGHAI!")
|
||||
(for i 0 (+ 1 days)
|
||||
(do
|
||||
(print (string "-------- day " i " --------"))
|
||||
(print "name, sellIn, quality")
|
||||
(for j 0 (length items)
|
||||
(print (item-to-str (get items j))))
|
||||
(print "")
|
||||
(update-quality items))))
|
||||
Reference in new issue
Block a user