mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-15 22:41:30 +00:00
115 lines
3.3 KiB
Ruby
115 lines
3.3 KiB
Ruby
require File.join(File.dirname(__FILE__), 'gilded_rose')
|
|
|
|
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 "foo"
|
|
end
|
|
end
|
|
|
|
describe "#classic_item_update" do
|
|
it "changed sell in" do
|
|
items = [Item.new("foo", 1, 0)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].sell_in).to eq(0)
|
|
end
|
|
|
|
it "changed quality if sell in negative" do
|
|
items = [Item.new("foo", -1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(8)
|
|
end
|
|
|
|
it "changed quality if sell in positive" do
|
|
items = [Item.new("foo", 1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(9)
|
|
end
|
|
end
|
|
|
|
describe "#aged_brie_update" do
|
|
it "changed sell in" do
|
|
items = [Item.new("Aged Brie", 1, 0)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].sell_in).to eq(0)
|
|
end
|
|
|
|
it "changed quality if sell in negative" do
|
|
items = [Item.new("Aged Brie", -1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(12)
|
|
end
|
|
|
|
it "changed quality if sell in positive" do
|
|
items = [Item.new("Aged Brie", 1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(11)
|
|
end
|
|
end
|
|
|
|
describe "#sulfuras_hand_of_ragnaros_update" do
|
|
it "changed sell in" do
|
|
items = [Item.new("Sulfuras, Hand of Ragnaros", 1, 80)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].sell_in).to eq(1)
|
|
end
|
|
|
|
it "changed quality if sell in negative" do
|
|
items = [Item.new("Sulfuras, Hand of Ragnaros", -1, 80)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(80)
|
|
end
|
|
|
|
it "changed quality if sell in positive" do
|
|
items = [Item.new("Sulfuras, Hand of Ragnaros", 1, 80)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(80)
|
|
end
|
|
end
|
|
|
|
describe "#backstage_passes_to_a_tafkal80etc_concert_update" do
|
|
it "changed sell in" do
|
|
items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].sell_in).to eq(0)
|
|
end
|
|
|
|
it "changed quality if sell in < 6" do
|
|
items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 5, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(13)
|
|
end
|
|
|
|
it "changed quality if sell in < 11" do
|
|
items = [Item.new("Backstage passes to a TAFKAL80ETC concert", 10, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(12)
|
|
end
|
|
end
|
|
|
|
describe "#conjured_mana_cake_update" do
|
|
it "changed sell in" do
|
|
items = [Item.new("Conjured Mana Cake", 1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].sell_in).to eq(0)
|
|
end
|
|
|
|
it "changed quality if sell in negative" do
|
|
items = [Item.new("Conjured Mana Cake", -1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(6)
|
|
end
|
|
|
|
it "changed quality if sell in positive" do
|
|
items = [Item.new("Conjured Mana Cake", 1, 10)]
|
|
GildedRose.new(items).update_quality
|
|
expect(items[0].quality).to eq(8)
|
|
end
|
|
end
|
|
|
|
|
|
end
|