main
 1require "spec_helper"
 2
 3describe BubbleSort do
 4  subject { BubbleSort.new }
 5
 6  it "should be able to sort an empty array" do
 7    expect(subject.sort([])).to eq([])
 8  end
 9
10  it "should be able to sort an array with one item" do
11    expect(subject.sort([1])).to eq([1])
12  end
13
14  it "should be able to sort an array of numbers" do
15    n = 500
16    numbers = Array.new(n) { rand(n) }
17    Benchmark.bmbm do |x|
18      x.report("bubble sort") { expect(subject.sort(numbers)).to eq(numbers.sort) }
19    end
20  end
21end