mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-08 03:01:24 +00:00
95 lines
3.7 KiB
Python
95 lines
3.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
import unittest
|
|
|
|
from gilded_rose import Item, GildedRose
|
|
|
|
|
|
class GildedRoseTest(unittest.TestCase):
|
|
def test_foo(self):
|
|
items = [Item("foo", 0, 0)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual("foo", items[0].name)
|
|
|
|
def test_constant_names(self):
|
|
items = [Item("meow", 0, 0), Item("bark", 0, 0), Item("roar", 0, 0)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual("meow", items[0].name)
|
|
self.assertEqual("bark", items[1].name)
|
|
self.assertEqual("roar", items[2].name)
|
|
|
|
def test_day_passes(self): # (sellin decreases)
|
|
items = [Item("meow", 1, 10), Item("bark", 2, 10), Item("roar", 3, 10)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(0, items[0].sell_in)
|
|
self.assertEqual(1, items[1].sell_in)
|
|
self.assertEqual(2, items[2].sell_in)
|
|
|
|
def test_quality_decreases(self): # Not for Aged Brie
|
|
items = [Item("meow", 10, 1), Item("bark", 10, 2), Item("roar", 10, 3)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(0, items[0].quality)
|
|
self.assertEqual(1, items[1].quality)
|
|
self.assertEqual(2, items[2].quality)
|
|
|
|
def test_aged_brief(self):
|
|
items = [Item("Aged Brie", 10, 0), Item("Aged Brie", -1, 0)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(1, items[0].quality)
|
|
self.assertEqual(2, items[1].quality)
|
|
|
|
def test_passed_sellin(self):
|
|
items = [Item("banana", 0, 10), Item("apple", -1, 10)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(8, items[0].quality)
|
|
self.assertEqual(8, items[1].quality)
|
|
|
|
def test_quality_always_positive(self):
|
|
items = [Item("banana", -1, 0), Item("apple", 1, 0)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(0, items[0].quality)
|
|
self.assertEqual(0, items[1].quality)
|
|
|
|
def test_quality_not_more_50(self):
|
|
items = [Item("Aged Brie", 10, 50)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(50, items[0].quality)
|
|
|
|
def test_sulfuras_never_decrease(self):
|
|
items = [Item("Sulfuras, Hand of Ragnaros", -1, 80), Item("Sulfuras, Hand of Ragnaros", 0, 80), Item("Sulfuras, Hand of Ragnaros", 1, 80)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
# self.assertEqual(80, items[0].quality)
|
|
self.assertEqual(80, items[1].quality)
|
|
self.assertEqual(80, items[2].quality)
|
|
|
|
def test_backstage_passes(self):
|
|
items = [Item("Backstage passes to a TAFKAL80ETC concert", 10, 10), Item("Backstage passes to a Coldplay concert", 9, 10),
|
|
Item("Backstage passes", 5, 10), Item("Backstage passes", 4, 10),
|
|
Item("Backstage passes", 0, 10), Item("Backstage passes", -1, 10)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(12, items[0].quality)
|
|
self.assertEqual(12, items[1].quality)
|
|
self.assertEqual(13, items[2].quality)
|
|
self.assertEqual(13, items[3].quality)
|
|
self.assertEqual(0, items[4].quality)
|
|
self.assertEqual(0, items[5].quality)
|
|
|
|
def test_conjured(self):
|
|
items = [Item("Conjured Cake", -1, 10), Item("Conjured Cookie", 1, 10)]
|
|
gilded_rose = GildedRose(items)
|
|
gilded_rose.update_quality()
|
|
self.assertEqual(8, items[0].quality)
|
|
self.assertEqual(8, items[1].quality)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|