GildedRose-Refactoring-Kata/ruby/gilded_rose_tests.rb
2024-01-17 20:05:35 +01:00

69 lines
2.1 KiB
Ruby

require 'minitest/autorun'
require_relative 'gilded_rose'
class TestGildedRose < Minitest::Test
def test_update_quality_regular_item
item = Item.new('Regular Item', 5, 10)
gilded_rose = GildedRose.new([item])
gilded_rose.update_quality
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