forked from emilybache/GildedRose-Refactoring-Kata
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_gilded_rose.py
70 lines (48 loc) · 2.15 KB
/
test_gilded_rose.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# -*- coding: utf-8 -*-
import unittest
from gilded_rose import Item, GildedRose
Item(name="+5 Dexterity Vest", sell_in=10, quality=20),
class GildedRoseTest(unittest.TestCase):
def test_dexterity_vest_regular_degradation(self):
items = [Item(name="+5 Dexterity Vest", sell_in=10, quality=20)]
gilded_rose = GildedRose(items)
for i in range(0,3):
gilded_rose.update_quality()
self.assertEqual("+5 Dexterity Vest", items[0].name)
self.assertEqual(9-i, items[0].sell_in)
self.assertEqual(19-i, items[0].quality)
def test_dexterity_vest_post_sell_in_degradation(self):
items = [Item(name="+5 Dexterity Vest", sell_in=2, quality=20)]
gilded_rose = GildedRose(items)
for i in range(0,2):
gilded_rose.update_quality()
gilded_rose.update_quality() # day -1
self.assertEqual("+5 Dexterity Vest", items[0].name)
self.assertEqual(-1, items[0].sell_in)
self.assertEqual(16, items[0].quality)
def test_dexterity_vest_quality_not_below_zero(self):
items = [Item(name="+5 Dexterity Vest", sell_in=2, quality=20)]
gilded_rose = GildedRose(items)
for i in range(0,30):
gilded_rose.update_quality()
self.assertTrue(items[0].quality == 0)
def test_aged_brie(self):
items = [Item(name="Aged Brie", sell_in=2, quality=0)]
gilded_rose = GildedRose(items)
for i in range(0,2):
gilded_rose.update_quality()
self.assertEqual("Aged Brie", items[0].name)
self.assertEqual(1-i, items[0].sell_in)
self.assertEqual(1+i, items[0].quality)
def test_aged_brie_after_sellIn(self):
items = [Item(name="Aged Brie", sell_in=2, quality=0)]
gilded_rose = GildedRose(items)
for i in range(0,2):
gilded_rose.update_quality()
for i in range(1,3):
gilded_rose.update_quality()
self.assertEqual("Aged Brie", items[0].name)
self.assertEqual(-i, items[0].sell_in)
self.assertEqual(2 +(i*2), items[0].quality)
if __name__ == '__main__':
unittest.main()