以下は、Rubyコードの小さな部分に対して私が書いた単体テストです。
subject { AutoShop.new 'Mr. Fix It', 'WA987654321', Employee.new('Sue', 'Owner', 0) }
it '#employee_list returns list of employee names' do
# setup
input = [Employee.new('Lou', 'Receptionist', 90_000)]
subject.append_employees input
subject.employee_list.should eq "Sue\nLou"
end
そして、これがクラスのコードです。ただし、employee_list
メソッドで正しく表示される名前を取得できません。私はRubyを初めて使用するので、提案をいただければ幸いです。
class AutoShop < Business
attr_accessor :employees
def initialize(name, tax_id, employee)
super(name, tax_id)
@employees = []
@employees << employee
end
def append_employees(input)
input.map { |x| @employees << x }
end
def employee_list
@employees.map {|x| x.name}
end
end