27 lines
		
	
	
		
			829 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			829 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 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
 | |
|       subject << X11Requirement.new << X11Requirement.new("x11", %w[2.6])
 | |
|       expect(subject.to_a).to eq([X11Requirement.new("x11", %w[2.6])])
 | |
|     end
 | |
| 
 | |
|     it "does not use the smaller requirement when merging duplicates" do
 | |
|       subject << X11Requirement.new("x11", %w[2.6]) << X11Requirement.new
 | |
|       expect(subject.to_a).to eq([X11Requirement.new("x11", %w[2.6])])
 | |
|     end
 | |
|   end
 | |
| end
 | 
