main
 1require "spec_helper"
 2
 3describe QuickUnion do
 4  subject { QuickUnion.new(10) }
 5
 6  it "is not connected" do
 7    expect(subject.connected?(0, 1)).to be_falsey
 8  end
 9
10  it "is connected" do
11    subject.union(4, 3)
12    expect(subject.connected?(4, 3)).to be_truthy
13    subject.union(3, 8)
14    expect(subject.connected?(3, 8)).to be_truthy
15    subject.union(6, 5)
16    expect(subject.connected?(6, 5)).to be_truthy
17
18    subject.union(9, 4)
19    expect(subject.connected?(9, 4)).to be_truthy
20
21    subject.union(2, 1)
22    expect(subject.connected?(8, 9)).to be_truthy
23    expect(subject.connected?(5, 4)).to be_falsey
24    subject.union(5, 0)
25    expect(subject.connected?(5, 0)).to be_truthy
26    subject.union(7, 2)
27    expect(subject.connected?(7, 2)).to be_truthy
28    subject.union(6, 1)
29    expect(subject.connected?(6, 1)).to be_truthy
30    subject.union(7, 3)
31    expect(subject.connected?(7, 3)).to be_truthy
32  end
33end