Gilded Rose sample that illustrates changing code safely.

Demonstrates three advanced developer testing techniques: characterization,
mutation, and approval testing.
Creates simplest failing characterization test by hand.
Creates simplest passing characterization test by hand.
Enhances simplest failing characterization test by hand.
Enhances simplest passing characterization test by hand.
Adds another item.
Enhances simplest failing characterization test by hand.
Enhances simplest passing characterization test by hand.
Extracts out the items provider.
Extracts out the the characterization and expected result.
Extracts out the characterization.
Extracts out the expected results.
Adds Backstage Passes to the items that form the characterization test.
Uses hash-based characterization rather than RSpec expectations.
Increases the specificity of the characterization by calling the #update_quality method for 20 days.
Increases the specificity of the characterization by adding more items.
Adds a rake task to perform mutation testing.
Extracts the #update_item_quality method.
Uses a Guard Clause for the legendary item: Sulfuras, Hand of Ragnaros.
Untangles the reading and writing to the item.sell_in attribute.