diff --git a/go/gilded-rose_test.go b/go/gilded-rose_test.go new file mode 100644 index 00000000..6b03bf25 --- /dev/null +++ b/go/gilded-rose_test.go @@ -0,0 +1,7 @@ +package main + +import "testing" + +func Test_GildedRose(t *testing.T) { + main() +} diff --git a/go/glided-rose.go b/go/glided-rose.go new file mode 100644 index 00000000..3aac5d37 --- /dev/null +++ b/go/glided-rose.go @@ -0,0 +1,75 @@ +package main + +import "fmt" + +type Item struct { + name string + sellIn, quality int +} + +var items = []Item{ + Item{"+5 Dexterity Vest", 10, 20}, + Item{"Aged Brie", 2, 0}, + Item{"Elixir of the Mongoose", 5, 7}, + Item{"Sulfuras, Hand of Ragnaros", 0, 80}, + Item{"Backstage passes to a TAFKAL80ETC concert", 15, 20}, + Item{"Conjured Mana Cake", 3, 6}, +} + +func main() { + fmt.Println("OMGHAI!") + // fmt.Print(items) + GlidedRose() +} + +func GlidedRose() { + for i := 0; i < len(items); i++ { + + if items[i].name != "Aged Brie" && 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 + } + } + } + } + +} diff --git a/go/readme.md b/go/readme.md new file mode 100644 index 00000000..6b894ed4 --- /dev/null +++ b/go/readme.md @@ -0,0 +1,21 @@ +# GO Starter + +- Run : + +```shell +go run gilded-rose.go +``` + +- Run tests : + +```shell +go test +``` + +- Run tests and coverage : + +```shell +go test -coverprofile=coverage.out + +go tool cover -html=coverage.out +``` \ No newline at end of file