From 0d24f3ed985a3592780bdfd7c641beaa09b6b098 Mon Sep 17 00:00:00 2001 From: "dreddick.home2@gmail.com" Date: Thu, 5 Nov 2020 17:09:54 +0000 Subject: [PATCH] update tests and code for new conjured requirements --- go/gilded-rose.go | 16 ++++++++++++++++ go/gilded-rose_test.go | 4 +++- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/go/gilded-rose.go b/go/gilded-rose.go index d819a3b1..356b2abb 100644 --- a/go/gilded-rose.go +++ b/go/gilded-rose.go @@ -81,6 +81,20 @@ func UpdateQualityStandard(item *Item) { } +func UpdateQualityConjured(item *Item) { + defer func() { + item.sellIn-- + }() + + if item.sellIn <= 0 { + item.quality = max(item.quality-4, 0) + return + } + + item.quality = max(item.quality-2, 0) + +} + func UpdateQuality(items []*Item) { for i := 0; i < len(items); i++ { @@ -90,6 +104,8 @@ func UpdateQuality(items []*Item) { UpdateQualityBrie(items[i]) case "Backstage passes to a TAFKAL80ETC concert": UpdateQualityBackstagePasses(items[i]) + case "Conjured Mana Cake": + UpdateQualityConjured(items[i]) default: UpdateQualityStandard(items[i]) } diff --git a/go/gilded-rose_test.go b/go/gilded-rose_test.go index 26915ea7..69e20645 100644 --- a/go/gilded-rose_test.go +++ b/go/gilded-rose_test.go @@ -30,7 +30,9 @@ func Test_Items(t *testing.T) { {&Item{"Backstage passes to a TAFKAL80ETC concert", 4, 4}, Expected{3, 7}}, {&Item{"Backstage passes to a TAFKAL80ETC concert", 9, 4}, Expected{8, 6}}, {&Item{"Sulfuras, Hand of Ragnaros", 0, 80}, Expected{0, 80}}, - {&Item{"Conjured Mana Cake", 3, 6}, Expected{2, 5}}, + {&Item{"Conjured Mana Cake", 3, 6}, Expected{2, 4}}, + {&Item{"Conjured Mana Cake", 0, 8}, Expected{-1, 4}}, + {&Item{"Conjured Mana Cake", 3, 0}, Expected{2, 0}}, {&Item{"Acme Dynamite", 3, 6}, Expected{2, 5}}, {&Item{"Acme Dynamite", 0, 6}, Expected{-1, 4}}, {&Item{"Acme Dynamite", 0, 0}, Expected{-1, 0}},