$ rspec converter_spec.rb
Converter
#convert!
should eq "アリアリアリアリアリーヴェデルチ!(さよならだ)"
Finished in 0.00414 seconds
1 example, 0 failures
class Converter | |
def initialize text | |
@text = text | |
end | |
def push_arrivederci | |
@text.str << 'アリーヴェデルチ!(さよならだ)' | |
end | |
# こういう余計な文字列を消すメソッドが増えてきたので外に出したい | |
def remove_gesu | |
@text.gsub!(/何をやったってしくじるもんなのさゲス野郎はな。/, '') | |
end | |
def convert! | |
push_arrivederci | |
remove_gesu | |
end | |
end |
class RemoveUnnecessaryText | |
attr_accessor :str | |
def initialize str | |
@str = str | |
end | |
def remove_gesu | |
@str.gsub!(/何をやったってしくじるもんなのさゲス野郎はな。/, '') | |
end | |
def replace! | |
remove_gesu | |
end | |
end | |
class Converter | |
def initialize text | |
@text = RemoveUnnecessaryText.new text | |
end | |
def push_arrivederci | |
@text.str << 'アリーヴェデルチ!(さよならだ)' | |
end | |
def convert! | |
push_arrivederci | |
@text.replace! | |
end | |
end |
require_relative 'converter' | |
describe Converter do | |
context "#convert!" do | |
let(:obj) { Converter.new '何をやったってしくじるもんなのさゲス野郎はな。アリアリアリアリ' } | |
it { expect(obj.convert!).to eq 'アリアリアリアリアリーヴェデルチ!(さよならだ)' } | |
end | |
end |