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