Я пытаюсь реализовать заданную структуру данных в Ruby с помощью rspec. У меня есть один тест, который, кажется, не проходит в коде ниже:TDD реализация заданной структуры данных в Ruby
def add(element)
if @set_data.include?(element)
print "This element is already in the set!"
else
@set_data += [element]
end
end
и это испытание для него:
it 'does not add an element if the element is already in the set' do
set = SetDataStructure.new([1,2,3,4,5])
set.add(4)
expect(set).to eq("This element is already in the set!")
end
Результат выполнения теста:
... ... Этот элемент уже находится в наборе! F.
Неудачи:
1) SetDataStructure не добавляет элемент, если элемент уже в наборе Failure/Error: ожидать (set.to_a) .то эк ("Этот элемент уже в комплекте! «)
expected: "This element is already in the set!"
got: [1, 2, 3, 4, 5]
(compared using ==)
# ./spec/set_data_structure_spec.rb:39:in `block (2 levels) in <top (required)>'
Законченный в 0.00348 секунд 8 примеров, 1 провал
Неудачные примеры:
rspec ./spec/set_data_structure_spec.rb:36 # SetDataStructure не добавляет элемент, если элемент уже находится в наборе
У меня также есть код, опубликованный на моем GitHub.
Я был бы так благодарен, если бы кто-нибудь мог просветить меня!
Большое вам спасибо за вашу помощь! – pinglinh