Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 16 additions & 10 deletions Team Grey/src/gilded_rose.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,40 @@ def __init__(self, items):
self.items = items

def update_quality(self):
qualityFactor = 1

for item in self.items:
if (item.name.startsWith("Conjured")):
qualityFactor = 2


if item.name != "Aged Brie" and item.name != "Backstage passes to a TAFKAL80ETC concert":
if item.quality > 0:
if item.name != "Sulfuras, Hand of Ragnaros":
item.quality = item.quality - 1
item.quality = item.quality - qualityFactor
else:
if item.quality < 50:
item.quality = item.quality + 1
item.quality = item.quality + qualityFactor
if item.name == "Backstage passes to a TAFKAL80ETC concert":
if item.sell_in < 11:
if item.quality < 50:
item.quality = item.quality + 1
if item.quality < (50 - qualityFactor*2):
item.quality = item.quality + qualityFactor*2
if item.sell_in < 6:
if item.quality < 50:
item.quality = item.quality + 1
if item.quality < (50 - qualityFactor*3):
item.quality = item.quality + qualityFactor*3
if item.name != "Sulfuras, Hand of Ragnaros":
item.sell_in = item.sell_in - 1
if item.sell_in < 0:
if item.name != "Aged Brie":
if item.name != "Backstage passes to a TAFKAL80ETC concert":
if item.quality > 0:
if item.quality >= qualityFactor:
if item.name != "Sulfuras, Hand of Ragnaros":
item.quality = item.quality - 1
item.quality = item.quality - qualityFactor
else:
item.quality = item.quality - item.quality
else:
if item.quality < 50:
item.quality = item.quality + 1
if item.quality < (50 - qualityFactor):
item.quality = item.quality + qualityFactor


class Item:
Expand Down
131 changes: 121 additions & 10 deletions Team Grey/src/test_gilded_rose.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,127 @@
# -*- coding: utf-8 -*-
import unittest
import pytest

from gilded_rose import Item, GildedRose

#Spec part 1
def test_qualityDegrading():
items = [Item("foo", 3, 10), Item("foo", 0, 10)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert items[1].quality == items[0].quality

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)
#Spec part 2
def test_nonNegative():
items = [Item("foo", 0, 0)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 0 <= items[0].quality


if __name__ == '__main__':
unittest.main()
#Spec part 3
def test_fasterAgingBrie():
items = [Item("Aged Brie", 0, 2)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 3 == items[0].quality

#Spec part 4
def test_qualityUnder50():
items = [Item("Aged Brie", 0, 50)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 50 == items[0].quality

#Spec part 5
def test_sulfurasUnchanging():
items = [Item("Sulfuras, Hand of Ragnaros", 5, 80)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 80 == items[0].quality
assert 5 == items[0].sell_in

#Spec part 6.1
def test_increasingPassQuality():
items = [Item("Backstage passes to a TAFKAL80ETC concert", 5, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 25 < items[0].quality

#Spec part 6.2
def test_increasingPassQualityTen():
items = [Item("Backstage passes to a TAFKAL80ETC concert", 9, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 27 == items[0].quality

#Spec part 6.3
def test_increasingPassQualityFive():
items = [Item("Backstage passes to a TAFKAL80ETC concert", 4, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 28 == items[0].quality

#Spec part 6.4
#If the day of the concert == sellinday of 0
def test_increasingPassQualityZero():
items = [Item("Backstage passes to a TAFKAL80ETC concert", 1, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 0 == items[0].quality

#Spec part 7
#Conjured aged brie
#??????
def test_conjuredQualityDecrease():
items = [Item("Conjured Axe", 2, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 23 == items[0].quality
#Spec part 7.2
def test_conjuredBrieQualityIncrease():
items = [Item("Conjured Aged Brie", 2, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 27 == items[0].quality

#Spec part 7.3
def test_conjuredBrieQualityIncrease():
items = [Item("Conjured Aged Brie", 2, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 27 == items[0].quality

#Spec part 7.4
def test_conjuredSulfurasUnchanging():
items = [Item("Conjured Sulfuras, Hand of Ragnaros", 5, 80)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 80 == items[0].quality
assert 5 == items[0].sell_in

#Spec part 7.5
def test_increasingPassQuality():
items = [Item("Conjured Backstage passes to a TAFKAL80ETC concert", 12, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 24 < items[0].quality

#Spec part 7.6
def test_increasingConjuredPassQualityTen():
items = [Item("Conjured Backstage passes to a TAFKAL80ETC concert", 9, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 29 == items[0].quality

#Spec part 7.7
def test_increasingConjuredPassQualityFive():
items = [Item("Conjured Backstage passes to a TAFKAL80ETC concert", 4, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 31 == items[0].quality

#Spec part 7.8
def test_increasingConjuredPassQualityZero():
items = [Item("Conjured Backstage passes to a TAFKAL80ETC concert", 1, 25)]
gilded_rose = GildedRose(items)
gilded_rose.update_quality()
assert 0 == items[0].quality