2017-02-27 14:02:59 +01:00
|
|
|
require "requirements"
|
|
|
|
|
|
|
|
describe Requirements do
|
|
|
|
describe "#<<" do
|
|
|
|
it "returns itself" do
|
|
|
|
expect(subject << Object.new).to be(subject)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "merges duplicate requirements" do
|
|
|
|
subject << X11Requirement.new << X11Requirement.new
|
|
|
|
expect(subject.count).to eq(1)
|
|
|
|
subject << Requirement.new
|
|
|
|
expect(subject.count).to eq(2)
|
|
|
|
end
|
|
|
|
|
|
|
|
it "prefers the larger requirement when merging duplicates" do
|
2018-10-19 16:38:41 +01:00
|
|
|
subject << X11Requirement.new << X11Requirement.new(%w[2.6])
|
|
|
|
expect(subject.to_a).to eq([X11Requirement.new(%w[2.6])])
|
2017-02-27 14:02:59 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
it "does not use the smaller requirement when merging duplicates" do
|
2018-10-19 16:38:41 +01:00
|
|
|
subject << X11Requirement.new(%w[2.6]) << X11Requirement.new
|
|
|
|
expect(subject.to_a).to eq([X11Requirement.new(%w[2.6])])
|
2017-02-27 14:02:59 +01:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|