mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 04:12:13 +00:00
Merge branch 'nim'
This commit is contained in:
commit
318218e3bc
3
nim/.gitignore
vendored
Normal file
3
nim/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
nimcache/
|
||||
nimblecache/
|
||||
htmldocs/
|
||||
35
nim/src/gildedrose.nim
Normal file
35
nim/src/gildedrose.nim
Normal file
@ -0,0 +1,35 @@
|
||||
import items
|
||||
|
||||
proc updateQuality*(items: var seq[Item]) =
|
||||
for i in 0 ..< items.len:
|
||||
if items[i].name != "Aged Brie" and items[i].name != "Backstage passes to a TAFKAL80ETC concert":
|
||||
if items[i].quality > 0:
|
||||
if items[i].name != "Sulfuras, Hand of Ragnaros":
|
||||
items[i].quality = items[i].quality - 1
|
||||
else:
|
||||
if items[i].quality < 50:
|
||||
items[i].quality = items[i].quality + 1
|
||||
|
||||
if items[i].name == "Backstage passes to a TAFKAL80ETC concert":
|
||||
if items[i].sellIn < 11:
|
||||
if items[i].quality < 50:
|
||||
items[i].quality = items[i].quality + 1
|
||||
|
||||
if items[i].sellIn < 6:
|
||||
if items[i].quality < 50:
|
||||
items[i].quality = items[i].quality + 1
|
||||
|
||||
if items[i].name != "Sulfuras, Hand of Ragnaros":
|
||||
items[i].sellIn = items[i].sellIn - 1
|
||||
|
||||
if items[i].sellIn < 0:
|
||||
if items[i].name != "Aged Brie":
|
||||
if items[i].name != "Backstage passes to a TAFKAL80ETC concert":
|
||||
if items[i].quality > 0:
|
||||
if items[i].name != "Sulfuras, Hand of Ragnaros":
|
||||
items[i].quality = items[i].quality - 1
|
||||
else:
|
||||
items[i].quality = items[i].quality - items[i].quality
|
||||
else:
|
||||
if items[i].quality < 50:
|
||||
items[i].quality = items[i].quality + 1
|
||||
12
nim/src/items.nim
Normal file
12
nim/src/items.nim
Normal file
@ -0,0 +1,12 @@
|
||||
import strformat
|
||||
|
||||
type
|
||||
Item* = object
|
||||
name*: string
|
||||
sellIn*, quality*: int
|
||||
|
||||
proc initItem*(name: string, sellIn, quality: int): Item =
|
||||
Item(name: name, sellIn: sellIn, quality: quality)
|
||||
|
||||
proc `$`*(item: Item): string =
|
||||
&"{item.name}, {item.sellIn}, {item.quality}"
|
||||
10
nim/test/gilded.nim
Normal file
10
nim/test/gilded.nim
Normal file
@ -0,0 +1,10 @@
|
||||
import unittest
|
||||
import ../src/items
|
||||
import ../src/gildedrose
|
||||
|
||||
suite "Gilded Rose":
|
||||
|
||||
test "foo":
|
||||
var items = @[initItem("foo", 0, 0)]
|
||||
items.updateQuality()
|
||||
check items[0].name == "fixme"
|
||||
Loading…
Reference in New Issue
Block a user