William Brown 0c00112e1b Wrote cleaner code and had 100% test coverage for the inventory class. | 6 anos atrás | |
---|---|---|
src | 6 anos atrás | |
.gitignore | 6 anos atrás | |
pom.xml | 6 anos atrás | |
readme.md | 6 anos atrás |
Inventory
classInventory
class to make it more maintainable and readablejava
folder in the test
directoryRun all with test coverage
Hi and welcome to team Gilded Rose. As you know, we are a small inn
with a prime location in a prominent city run 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. But before you can add a new feature, you need to add a test
that provides 100% line coverage for the Inventory
class.
First an introduction to our system:
Pretty simple, right? Well this is where it gets interesting:
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.
DO NOT alter the Item class or Items property as those belong to the goblin in the corner who will insta-rage and one-shot you as he doesn't believe in shared code ownership (you can make the UpdateQuality method and Items property static if you like, we'll cover for you).
Note how hard it is to read this code. Your task is to refactor the code to make it more readable. First create a new branch called refactor
.
We have recently signed a supplier of conjured items. This requires an update to our system. First create a new branch called new-item
. Add a conjured
item.
Feel free to make any changes to the UpdateQuality method and add any new code as long as everything still works correctly.
This originated from Bobby Johnson's Blog.