Fixed and add rspec

This commit is contained in:
Cp shivhare 2023-12-22 20:36:03 +05:30 committed by Peter Kofler
parent 24c9a7f603
commit 92a459442a

View File

@ -1,3 +1,5 @@
require 'rspec'
require File.join(File.dirname(__FILE__), 'gilded_rose') require File.join(File.dirname(__FILE__), 'gilded_rose')
describe GildedRose do describe GildedRose do
@ -6,7 +8,71 @@ describe GildedRose 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 'decreases the sell_in and quality for regular items' do
item = Item.new('Regular Item', 5, 10)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(9)
expect(item.sell_in).to eq(4)
end
it 'decreases quality twice as fast when sell_in is negative for regular items' do
item = Item.new('Regular Item', 0, 10)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(8)
end
it 'increases the quality of Aged Brie' do
item = Item.new('Aged Brie', 5, 10)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(11)
end
it 'does not increase the quality of Aged Brie beyond 50' do
item = Item.new('Aged Brie', 5, 50)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(50)
end
it 'increases the quality of Backstage passes as sell_in approaches' do
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 11, 20)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(21)
end
it 'increases the quality of Backstage passes by 2 when sell_in is 10 or less' do
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 10, 20)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(22)
end
it 'increases the quality of Backstage passes by 3 when sell_in is 5 or less' do
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 5, 20)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(23)
end
it 'sets the quality of Backstage passes to 0 after the concert' do
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 0, 20)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(0)
end
it 'does not decrease the quality of Sulfuras' do
item = Item.new('Sulfuras, Hand of Ragnaros', 5, 80)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
expect(item.quality).to eq(80)
end end
end end