add tests for items

This commit is contained in:
dreddick.home2@gmail.com 2020-11-05 15:35:13 +00:00
parent e2c5826e71
commit 3d90e599d7

View File

@ -2,14 +2,49 @@ package main
import "testing" import "testing"
func Test_Foo(t *testing.T) { type Expected [2]int
var items = []*Item{
&Item{"foo", 0, 0}, type ItemTest struct {
*Item
Expected
} }
func GetItemTestsComponents(itemTests []ItemTest) ([]*Item, []Expected) {
var items []*Item
var expected []Expected
for _, itemTest := range itemTests {
items = append(items, itemTest.Item)
expected = append(expected, itemTest.Expected)
}
return items, expected
}
func Test_Items(t *testing.T) {
var itemTests = []ItemTest{
{&Item{"Aged Brie", 0, 0}, Expected{-1, 2}},
{&Item{"Aged Brie", 5, 50}, Expected{4, 50}},
{&Item{"Backstage passes to a TAFKAL80ETC concert", 5, 49}, Expected{4, 50}},
{&Item{"Backstage passes to a TAFKAL80ETC concert", 0, 49}, Expected{-1, 0}},
{&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{"Acme Dynamite", 3, 6}, Expected{2, 5}},
{&Item{"Acme Dynamite", 0, 6}, Expected{-1, 4}},
{&Item{"Acme Dynamite", 0, 0}, Expected{-1, 0}},
}
items, expected := GetItemTestsComponents(itemTests)
UpdateQuality(items) UpdateQuality(items)
if items[0].name != "fixme" { for i, item := range items {
t.Errorf("Name: Expected %s but got %s ", "fixme", items[0].name) actual := [2]int{item.sellIn, item.quality}
if actual != expected[i] {
t.Errorf("Expected %+v but got %+v", expected[i], actual)
} }
} }
}