mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2025-12-12 20:32:15 +00:00
Replace complete tests with sample tests.
This commit is contained in:
parent
92a459442a
commit
e43a1a270f
@ -3,77 +3,9 @@ require 'rspec'
|
|||||||
require File.join(File.dirname(__FILE__), 'gilded_rose')
|
require File.join(File.dirname(__FILE__), 'gilded_rose')
|
||||||
|
|
||||||
describe GildedRose do
|
describe GildedRose 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 "foo"
|
expect(items[0].name).to eq "fixme"
|
||||||
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
|
||||||
|
|
||||||
end
|
|
||||||
|
|||||||
@ -2,67 +2,9 @@ require 'minitest/autorun'
|
|||||||
require_relative 'gilded_rose'
|
require_relative 'gilded_rose'
|
||||||
|
|
||||||
class TestGildedRose < Minitest::Test
|
class TestGildedRose < Minitest::Test
|
||||||
def test_update_quality_regular_item
|
def test_foo
|
||||||
item = Item.new('Regular Item', 5, 10)
|
items = [Item.new("foo", 0, 0)]
|
||||||
gilded_rose = GildedRose.new([item])
|
GildedRose.new(items).update_quality()
|
||||||
gilded_rose.update_quality
|
assert_equal "fixme", items[0].name
|
||||||
assert_equal 9, item.quality
|
|
||||||
assert_equal 4, item.sell_in
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_negative_sell_in_regular_item
|
|
||||||
item = Item.new('Regular Item', 0, 10)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 8, item.quality
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_aged_brie
|
|
||||||
item = Item.new('Aged Brie', 5, 10)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 11, item.quality
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_max_quality_aged_brie
|
|
||||||
item = Item.new('Aged Brie', 5, 50)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 50, item.quality
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_backstage_passes_approaching
|
|
||||||
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 11, 20)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 21, item.quality
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_backstage_passes_sell_in_10_or_less
|
|
||||||
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 10, 20)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 22, item.quality
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_backstage_passes_sell_in_5_or_less
|
|
||||||
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 5, 20)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 23, item.quality
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_backstage_passes_after_concert
|
|
||||||
item = Item.new('Backstage passes to a TAFKAL80ETC concert', 0, 20)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 0, item.quality
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_update_quality_sulfuras
|
|
||||||
item = Item.new('Sulfuras, Hand of Ragnaros', 5, 80)
|
|
||||||
gilded_rose = GildedRose.new([item])
|
|
||||||
gilded_rose.update_quality
|
|
||||||
assert_equal 80, item.quality
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user