Added spec for GildedRose class

This commit is contained in:
adityadev92 2024-01-03 16:07:20 +05:30
parent 90006cc3c1
commit c3d6116add

View File

@ -1,12 +1,42 @@
require File.join(File.dirname(__FILE__), 'gilded_rose') require_relative 'gilded_rose'
require_relative 'item'
describe GildedRose do describe GildedRose do
describe "#update_quality" do describe "#update_quality" do
it "does not change the name" do it "does not change the name" do
items = [Item.new("foo", 0, 0)] items = [Item.new("foo", 0, 0)]
GildedRose.new(items).update_quality() 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
end end