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