Jwhiles / gilded_rose

The Gilded Rose Kata in Python.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gilded Rose Kata

The Gilded Rose Kata in many languages.

Hi and welcome to team Gilded Rose. As you know, we are a small inn with a prime location in a prominent city ran by a friendly innkeeper named Allison. We also buy and sell only the finest goods. Unfortunately, our goods are constantly degrading in quality as they approach their sell by date. We have a system in place that updates our inventory for us. It was developed by a no-nonsense type named Leeroy, who has moved on to new adventures. Your task is to add the new feature to our system so that we can begin selling a new category of items. First an introduction to our system:

  • All items have a SellIn value which denotes the number of days we have to sell the item
  • All items have a Quality value which denotes how valuable the item is
  • At the end of each day our system lowers both values for every item

Pretty simple, right? Well this is where it gets interesting:

  • Once the sell by date has passed, Quality degrades twice as fast

  • The Quality of an item is never negative

  • "Aged Brie" actually increases in Quality the older it gets

  • The Quality of an item is never more than 50

  • "Sulfuras", being a legendary item, never has to be sold or decreases in Quality

  • "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

We have recently signed a supplier of conjured items. This requires an update to our system:

  • "Conjured" items degrade in Quality twice as fast as normal items

Just for clarification, an item can never have its Quality increase above 50, however "Sulfuras" is a legendary item and as such its Quality is 80 and it never alters.

This is the original Kata repository created by EmilyBache

JavaScript

just open on the browser:

js/SpecRunner.html

Python

py.test test_gilded_rose.py

Ruby

gem install rspec

rspec gilded_rose_spec.rb

Java

sudo chmod a+x gradlew

./gradlew

./gradlew test

Open test report/results file on:

java/build/reports/tests/classes/com.gildedrose.GildedRoseSpec.html#Gilded Rose

About

The Gilded Rose Kata in Python.


Languages

Language:JavaScript 72.4%Language:Groovy 8.3%Language:Ruby 7.1%Language:Python 6.6%Language:HTML 2.5%Language:CSS 1.6%Language:Java 1.5%