refactoring of GildedRose.java + new testcase