GildedRose-Refactoring-Kata/go/gildedrose/gildedrose.go
2023-05-18 11:41:15 -05:00

59 lines
1.3 KiB
Go

package gildedrose
type Item struct {
Name string
SellIn, Quality int
}
func UpdateQuality(items []*Item) {
for i := 0; i < len(items); i++ {
if items[i].Name != "Aged Cheese" && items[i].Name != "Backstage passes to a concert" {
if items[i].Quality > 0 {
if items[i].Name != "Fine Italian Silk" {
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 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 != "Fine Italian Silk" {
items[i].SellIn = items[i].SellIn - 1
}
if items[i].SellIn < 0 {
if items[i].Name != "Aged Cheese" {
if items[i].Name != "Backstage passes to a concert" {
if items[i].Quality > 0 {
if items[i].Name != "Fine Italian Silk" {
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
}
}
}
}
}