The Gilded Rose is a famous kata (or exercise) in OO, testing, and refactoring legacy code. By completing this kata, you will master the proper use of inheritence, by using it to elliminate conditionals in a wide-but-not-deep tree.
- Watch this video by Sandi Metz.
- Fork & clone this repository.
- Build the project and run the tests to ensure they all pass before you get started.
- Refactor, following the example set by Ms. Metz.
- Verify the tests still pass.
- If you complete the refactor in the time alotted, you can then attempt to make the conjured tests pass (remove the @Ignore annotation so they start failing)
Make sure you do not touch the 40 line if statement!
At 10:28 in the video, Ms. Metz talks about how to create "a seam". Follow this proceedure to avoid having to understand the deeply nested conditinals.