mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
UnitTest coverage
This commit is contained in:
parent
50e4577099
commit
6be8a090fb
1
python/GildedRoseRequirements.txt
Symbolic link
1
python/GildedRoseRequirements.txt
Symbolic link
@ -0,0 +1 @@
|
||||
../GildedRoseRequirements.txt
|
||||
@ -1,16 +0,0 @@
|
||||
# -*- 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.assertEquals("fixme", items[0].name)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
0
python/tests/__init__.py
Normal file
0
python/tests/__init__.py
Normal file
9
python/tests/test_aged_brie.py
Normal file
9
python/tests/test_aged_brie.py
Normal file
@ -0,0 +1,9 @@
|
||||
from gilded_rose import Item, GildedRose
|
||||
|
||||
AGED_BRIE = "Aged Brie"
|
||||
# "Aged Brie" actually increases in Quality the older it get
|
||||
def test_aged_brie_increases_quality_older():
|
||||
items = [Item(AGED_BRIE, 0, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 2
|
||||
37
python/tests/test_backstage_pass.py
Normal file
37
python/tests/test_backstage_pass.py
Normal file
@ -0,0 +1,37 @@
|
||||
from gilded_rose import Item, GildedRose
|
||||
|
||||
'''
|
||||
"Backstage passes", like aged brie, increases in Quality as its SellIn value approaches;
|
||||
Quality increases by 2 when there are 10 days or less and by 3 when there are 5 days or less but
|
||||
Quality drops to 0 after the concert
|
||||
'''
|
||||
|
||||
BACKSTAGE_PASSES = "Backstage passes to a TAFKAL80ETC concert"
|
||||
|
||||
# Backstage passes, increases in Quality as its SellIn value approaches
|
||||
def test_backstage_passes_increase_quality():
|
||||
items = [Item(BACKSTAGE_PASSES, 11, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 1
|
||||
|
||||
# Quality increases by 2 when there are 10 days or less
|
||||
def test_backstage_passes_increase_quality_by_2():
|
||||
items = [Item(BACKSTAGE_PASSES, 10, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 2
|
||||
|
||||
# Quality increases by 3 when there are 5 days or less
|
||||
def test_backstage_passes_increase_quality_by_3():
|
||||
items = [Item(BACKSTAGE_PASSES, 5, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 3
|
||||
|
||||
# Quality drops to 0 after the concert
|
||||
def test_backstage_passes_quality_is_0_sell_in_is_0():
|
||||
items = [Item(BACKSTAGE_PASSES, 0, 10)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 0
|
||||
42
python/tests/test_main.py
Normal file
42
python/tests/test_main.py
Normal file
@ -0,0 +1,42 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from gilded_rose import Item, GildedRose
|
||||
|
||||
def test_foo():
|
||||
items = [Item("foo", 0, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].name == "foo"
|
||||
|
||||
# At the end of each day our system lowers both values for every item
|
||||
def test_item_sell_in_decreases():
|
||||
items = [Item("foo", 1, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].sell_in == 0
|
||||
|
||||
def test_item_quality_decreases():
|
||||
items = [Item("foo", 0, 1)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 0
|
||||
|
||||
# Once the sell by date has passed, Quality degrades twice as fast
|
||||
def test_item_sell_in_passed_quality_degrades_twice():
|
||||
items = [Item("foo", 0, 2)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 0
|
||||
|
||||
# The Quality of an item is never negative
|
||||
def test_item_quality_is_never_negative():
|
||||
items = [Item("foo", 0, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 0
|
||||
|
||||
# The Quality of an item is never more than 50
|
||||
def test_item_quality_is_never_more_than_50():
|
||||
items = [Item("Aged Brie", 0, 50)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 50
|
||||
16
python/tests/test_sulfuras.py
Normal file
16
python/tests/test_sulfuras.py
Normal file
@ -0,0 +1,16 @@
|
||||
from gilded_rose import Item, GildedRose
|
||||
|
||||
SULFURAS = "Sulfuras, Hand of Ragnaros"
|
||||
|
||||
# "Sulfuras", being a legendary item, never has to be sold or decreases in Quality
|
||||
def test_sulfuras_sell_in_does_not_decrease():
|
||||
items = [Item(SULFURAS, 0, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].sell_in == 0
|
||||
|
||||
def test_sulfuras_does_not_decrease_in_quality():
|
||||
items = [Item(SULFURAS, 0, 0)]
|
||||
gilded_rose = GildedRose(items)
|
||||
gilded_rose.update_quality()
|
||||
assert items[0].quality == 0
|
||||
Loading…
Reference in New Issue
Block a user