mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-16 06:51:27 +00:00
Refactoring code and test
This commit is contained in:
parent
3cfb4fd08e
commit
dbfc72c1c6
@ -1,3 +1,5 @@
|
|||||||
|
require 'pry'
|
||||||
|
|
||||||
class GildedRose
|
class GildedRose
|
||||||
|
|
||||||
def initialize(items)
|
def initialize(items)
|
||||||
@ -6,25 +8,15 @@ class GildedRose
|
|||||||
|
|
||||||
def update_quality()
|
def update_quality()
|
||||||
@items.each do |item|
|
@items.each do |item|
|
||||||
if item.name != "Aged Brie" and item.name != "Backstage passes to a TAFKAL80ETC concert"
|
inListOfThree = ["Aged Brie","Backstage passes to a TAFKAL80ETC concert","Sulfuras, Hand of Ragnaros"]
|
||||||
if item.quality > 0
|
if not inListOfThree.include?(item.name) and item.quality > 0
|
||||||
if item.name != "Sulfuras, Hand of Ragnaros"
|
|
||||||
item.quality = item.quality - 1
|
item.quality = item.quality - 1
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
if item.quality < 50
|
if item.quality < 50
|
||||||
item.quality = item.quality + 1
|
item.quality = item.quality + 1
|
||||||
if item.name == "Backstage passes to a TAFKAL80ETC concert"
|
if item.name == "Backstage passes to a TAFKAL80ETC concert"
|
||||||
if item.sell_in < 11
|
if item.sell_in < 11
|
||||||
if item.quality < 50
|
|
||||||
item.quality = item.quality + 1
|
item.quality = item.quality + 1
|
||||||
end
|
|
||||||
end
|
|
||||||
if item.sell_in < 6
|
|
||||||
if item.quality < 50
|
|
||||||
item.quality = item.quality + 1
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -35,13 +27,7 @@ class GildedRose
|
|||||||
if item.sell_in < 0
|
if item.sell_in < 0
|
||||||
if item.name != "Aged Brie"
|
if item.name != "Aged Brie"
|
||||||
if item.name != "Backstage passes to a TAFKAL80ETC concert"
|
if item.name != "Backstage passes to a TAFKAL80ETC concert"
|
||||||
if item.quality > 0
|
item.quality = 0
|
||||||
if item.name != "Sulfuras, Hand of Ragnaros"
|
|
||||||
item.quality = item.quality - 1
|
|
||||||
end
|
|
||||||
end
|
|
||||||
else
|
|
||||||
item.quality = item.quality - item.quality
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if item.quality < 50
|
if item.quality < 50
|
||||||
|
|||||||
@ -1,12 +1,12 @@
|
|||||||
require File.join(File.dirname(__FILE__), 'gilded_rose')
|
require File.join(File.dirname(__FILE__), 'gilded_rose')
|
||||||
|
require 'pry'
|
||||||
|
|
||||||
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
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ class TestUntitled < Test::Unit::TestCase
|
|||||||
def test_foo
|
def test_foo
|
||||||
items = [Item.new("foo", 0, 0)]
|
items = [Item.new("foo", 0, 0)]
|
||||||
GildedRose.new(items).update_quality()
|
GildedRose.new(items).update_quality()
|
||||||
assert_equal items[0].name, "fixme"
|
assert_equal items[0].name, "foo"
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
Loading…
Reference in New Issue
Block a user