mirror of
https://github.com/emilybache/GildedRose-Refactoring-Kata.git
synced 2026-02-04 09:11:39 +00:00
update_name_from_foo_to_fixme実装
This commit is contained in:
parent
71261052fa
commit
1e3c8cc606
@ -49,12 +49,23 @@ class GildedRose
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# itemのnameがfooだった場合に、fixmeに更新する
|
||||
item.update_name_from_foo_to_fixme
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# 必ず自身のインスタンス変数を操作するよう実装する
|
||||
# いいクラスの構成要素
|
||||
# インスタンス変数
|
||||
# 完全性を保証するようにインスタンス変数を操作するメソッド
|
||||
|
||||
# コンストラクタで初期化する
|
||||
# initializeメソッドを実装する
|
||||
class Item
|
||||
attr_accessor :name, :sell_in, :quality
|
||||
attr_accessor :sell_in, :quality
|
||||
attr_reader :name
|
||||
|
||||
def initialize(name, sell_in, quality)
|
||||
@name = name
|
||||
@ -65,4 +76,15 @@ class Item
|
||||
def to_s()
|
||||
"#{@name}, #{@sell_in}, #{@quality}"
|
||||
end
|
||||
|
||||
def update_name_from_foo_to_fixme
|
||||
return if can_change_name_fixme?
|
||||
@name = "fixme"
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def can_change_name_fixme?
|
||||
@name != "foo"
|
||||
end
|
||||
end
|
||||
|
||||
@ -3,7 +3,7 @@ require 'rspec'
|
||||
require File.join(File.dirname(__FILE__), 'gilded_rose')
|
||||
|
||||
describe GildedRose do
|
||||
it "does not change the name" do
|
||||
it "fooをfixmeに変える" do
|
||||
items = [Item.new("foo", 0, 0)]
|
||||
GildedRose.new(items).update_quality()
|
||||
expect(items[0].name).to eq "fixme"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user