diff --git a/ruby/gilded_rose_spec.rb b/ruby/gilded_rose_spec.rb index 269fe1b0..0a6f7591 100644 --- a/ruby/gilded_rose_spec.rb +++ b/ruby/gilded_rose_spec.rb @@ -1,12 +1,42 @@ -require File.join(File.dirname(__FILE__), 'gilded_rose') +require_relative 'gilded_rose' +require_relative 'item' describe GildedRose do - describe "#update_quality" do it "does not change the name" do items = [Item.new("foo", 0, 0)] GildedRose.new(items).update_quality() - expect(items[0].name).to eq "fixme" + expect(items[0].name).to eq "foo" + end + + it "updates quality of Aged Brie as it gets older" do + items = [Item.new("Aged Brie", 5, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 11 + end + + it "updates quality of Sulfuras, Hand of Ragnaros" do + items = [Item.new("Sulfuras, Hand of Ragnaros", 5, 80)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 80 + end + + it "updates quality of Conjured item twice as fast" do + items = [Item.new("Conjured", 5, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 6 + end + + it "updates quality of Backstage passes based on sell-in value" do + items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 12, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 11 + end + + it "sets quality of Backstage passes to 0 after concert" do + items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 0, 10)] + GildedRose.new(items).update_quality() + expect(items[0].quality).to eq 0 end end