spec/nanoc/base/directed_graph_spec.rb in nanoc-4.8.0 vs spec/nanoc/base/directed_graph_spec.rb in nanoc-4.8.1
- old
+ new
@@ -79,60 +79,52 @@
context 'no edges' do
it { is_expected.to be_empty }
end
+ context 'requested for non-existant vertex' do
+ subject { graph.direct_predecessors_of('12345') }
+
+ it { is_expected.to be_empty }
+ it { is_expected.to be_a(Set) }
+ end
+
context 'one edge to' do
before { graph.add_edge('1', '2') }
- it { is_expected.to eq(['1']) }
+
+ it { is_expected.to match_array(['1']) }
+ it { is_expected.to be_a(Set) }
end
context 'two edges to' do
before do
graph.add_edge('1', '2')
graph.add_edge('3', '2')
end
it { is_expected.to match_array(%w[1 3]) }
+ it { is_expected.to be_a(Set) }
end
context 'edge from' do
before { graph.add_edge('2', '3') }
+
it { is_expected.to be_empty }
+ it { is_expected.to be_a(Set) }
end
end
- describe '#direct_successors_of' do
- subject { graph.direct_successors_of('2') }
+ describe '#predecessors_of' do
+ subject { graph.predecessors_of('2') }
- context 'no edges' do
- it { is_expected.to be_empty }
- end
+ context 'requested for non-existant vertex' do
+ subject { graph.predecessors_of('12345') }
- context 'one edge to' do
- before { graph.add_edge('1', '2') }
it { is_expected.to be_empty }
+ it { is_expected.to be_a(Set) }
end
- context 'one edge from' do
- before { graph.add_edge('2', '3') }
- it { is_expected.to eq(['3']) }
- end
-
- context 'two edges from' do
- before do
- graph.add_edge('2', '1')
- graph.add_edge('2', '3')
- end
-
- it { is_expected.to match_array(%w[1 3]) }
- end
- end
-
- describe '#predecessors_of' do
- subject { graph.predecessors_of('2') }
-
context 'no predecessors' do
before do
graph.add_edge('2', '3')
end
@@ -148,37 +140,9 @@
context 'no indirect predecessors' do
it { is_expected.to match_array(['1']) }
end
context 'indirect predecessors' do
- before { graph.add_edge('3', '1') }
- it { is_expected.to match_array(%w[1 2 3]) }
- end
- end
- end
-
- describe '#successors_of' do
- subject { graph.successors_of('2') }
-
- context 'no successors' do
- before do
- graph.add_edge('1', '2')
- end
-
- it { is_expected.to be_empty }
- end
-
- context 'direct predecessor' do
- before do
- graph.add_edge('1', '2')
- graph.add_edge('2', '3')
- end
-
- context 'no indirect successors' do
- it { is_expected.to match_array(['3']) }
- end
-
- context 'indirect successors' do
before { graph.add_edge('3', '1') }
it { is_expected.to match_array(%w[1 2 3]) }
end
end
end