test/base/test_directed_graph.rb in nanoc-3.7.3 vs test/base/test_directed_graph.rb in nanoc-3.7.4

- old
+ new

@@ -1,285 +1,285 @@ # encoding: utf-8 class Nanoc::DirectedGraphTest < Nanoc::TestCase def test_direct_predecessors - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) assert_equal [], graph.direct_predecessors_of(1) - assert_equal [ 1 ], graph.direct_predecessors_of(2) - assert_equal [ 2 ], graph.direct_predecessors_of(3) + assert_equal [1], graph.direct_predecessors_of(2) + assert_equal [2], graph.direct_predecessors_of(3) end def test_predecessors - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) assert_equal [], graph.predecessors_of(1).sort - assert_equal [ 1 ], graph.predecessors_of(2).sort - assert_equal [ 1, 2 ], graph.predecessors_of(3).sort + assert_equal [1], graph.predecessors_of(2).sort + assert_equal [1, 2], graph.predecessors_of(3).sort end def test_direct_successors - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) - assert_equal [ 2 ], graph.direct_successors_of(1) - assert_equal [ 3 ], graph.direct_successors_of(2) + assert_equal [2], graph.direct_successors_of(1) + assert_equal [3], graph.direct_successors_of(2) assert_equal [], graph.direct_successors_of(3) end def test_successors - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) - assert_equal [ 2, 3 ], graph.successors_of(1).sort - assert_equal [ 3 ], graph.successors_of(2).sort + assert_equal [2, 3], graph.successors_of(1).sort + assert_equal [3], graph.successors_of(2).sort assert_equal [], graph.successors_of(3).sort end def test_edges - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) - assert_equal [ [ 0, 1 ], [ 1, 2 ] ], graph.edges.sort + assert_equal [[0, 1], [1, 2]], graph.edges.sort end def test_edges_with_new_vertices - graph = Nanoc::DirectedGraph.new([ 1 ]) - assert_equal [ 1 ], graph.vertices + graph = Nanoc::DirectedGraph.new([1]) + assert_equal [1], graph.vertices graph.add_edge(1, 2) - assert_equal [ 1, 2 ], graph.vertices + assert_equal [1, 2], graph.vertices graph.add_edge(3, 2) - assert_equal [ 1, 2, 3 ], graph.vertices + assert_equal [1, 2, 3], graph.vertices - assert_equal [ [ 0, 1 ], [ 2, 1 ] ], graph.edges.sort + assert_equal [[0, 1], [2, 1]], graph.edges.sort end def test_add_edge - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) assert_equal [], graph.successors_of(1) assert_equal [], graph.predecessors_of(2) graph.add_edge(1, 2) - assert_equal [ 2 ], graph.successors_of(1) - assert_equal [ 1 ], graph.predecessors_of(2) + assert_equal [2], graph.successors_of(1) + assert_equal [1], graph.predecessors_of(2) end def test_add_edge_with_new_vertices - graph = Nanoc::DirectedGraph.new([ 1 ]) + graph = Nanoc::DirectedGraph.new([1]) graph.add_edge(1, 2) graph.add_edge(3, 2) assert graph.vertices.include?(2) assert graph.vertices.include?(3) end def test_delete_edge - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1,2) - assert_equal [ 2 ], graph.successors_of(1) - assert_equal [ 1 ], graph.predecessors_of(2) + assert_equal [2], graph.successors_of(1) + assert_equal [1], graph.predecessors_of(2) graph.delete_edge(1, 2) assert_equal [], graph.successors_of(1) assert_equal [], graph.predecessors_of(2) end def test_delete_edges_from - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 1) graph.add_edge(2, 3) graph.add_edge(3, 2) graph.add_edge(1, 3) graph.add_edge(3, 1) - assert_equal [ 2, 3 ], graph.direct_predecessors_of(1).sort - assert_equal [ 2, 3 ], graph.direct_successors_of(1).sort - assert_equal [ 1, 3 ], graph.direct_predecessors_of(2).sort - assert_equal [ 1, 3 ], graph.direct_successors_of(2).sort - assert_equal [ 1, 2 ], graph.direct_predecessors_of(3).sort - assert_equal [ 1, 2 ], graph.direct_successors_of(3).sort + assert_equal [2, 3], graph.direct_predecessors_of(1).sort + assert_equal [2, 3], graph.direct_successors_of(1).sort + assert_equal [1, 3], graph.direct_predecessors_of(2).sort + assert_equal [1, 3], graph.direct_successors_of(2).sort + assert_equal [1, 2], graph.direct_predecessors_of(3).sort + assert_equal [1, 2], graph.direct_successors_of(3).sort assert_equal Set.new([]), graph.roots graph.delete_edges_from(1) - assert_equal [ 2, 3 ], graph.direct_predecessors_of(1).sort - assert_equal [ ], graph.direct_successors_of(1).sort - assert_equal [ 3 ], graph.direct_predecessors_of(2).sort - assert_equal [ 1, 3 ], graph.direct_successors_of(2).sort - assert_equal [ 2 ], graph.direct_predecessors_of(3).sort - assert_equal [ 1, 2 ], graph.direct_successors_of(3).sort + assert_equal [2, 3], graph.direct_predecessors_of(1).sort + assert_equal [], graph.direct_successors_of(1).sort + assert_equal [3], graph.direct_predecessors_of(2).sort + assert_equal [1, 3], graph.direct_successors_of(2).sort + assert_equal [2], graph.direct_predecessors_of(3).sort + assert_equal [1, 2], graph.direct_successors_of(3).sort assert_equal Set.new([]), graph.roots graph.delete_edges_from(2) - assert_equal [ 3 ], graph.direct_predecessors_of(1).sort - assert_equal [ ], graph.direct_successors_of(1).sort - assert_equal [ 3 ], graph.direct_predecessors_of(2).sort - assert_equal [ ], graph.direct_successors_of(2).sort - assert_equal [ ], graph.direct_predecessors_of(3).sort - assert_equal [ 1, 2 ], graph.direct_successors_of(3).sort - assert_equal Set.new([ 3 ]), graph.roots + assert_equal [3], graph.direct_predecessors_of(1).sort + assert_equal [], graph.direct_successors_of(1).sort + assert_equal [3], graph.direct_predecessors_of(2).sort + assert_equal [], graph.direct_successors_of(2).sort + assert_equal [], graph.direct_predecessors_of(3).sort + assert_equal [1, 2], graph.direct_successors_of(3).sort + assert_equal Set.new([3]), graph.roots end def test_delete_edges_to - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 1) graph.add_edge(2, 3) graph.add_edge(3, 2) graph.add_edge(1, 3) graph.add_edge(3, 1) - assert_equal [ 2, 3 ], graph.direct_predecessors_of(1).sort - assert_equal [ 2, 3 ], graph.direct_successors_of(1).sort - assert_equal [ 1, 3 ], graph.direct_predecessors_of(2).sort - assert_equal [ 1, 3 ], graph.direct_successors_of(2).sort - assert_equal [ 1, 2 ], graph.direct_predecessors_of(3).sort - assert_equal [ 1, 2 ], graph.direct_successors_of(3).sort + assert_equal [2, 3], graph.direct_predecessors_of(1).sort + assert_equal [2, 3], graph.direct_successors_of(1).sort + assert_equal [1, 3], graph.direct_predecessors_of(2).sort + assert_equal [1, 3], graph.direct_successors_of(2).sort + assert_equal [1, 2], graph.direct_predecessors_of(3).sort + assert_equal [1, 2], graph.direct_successors_of(3).sort assert_equal Set.new([]), graph.roots graph.delete_edges_to(1) - assert_equal [ ], graph.direct_predecessors_of(1).sort - assert_equal [ 2, 3 ], graph.direct_successors_of(1).sort - assert_equal [ 1, 3 ], graph.direct_predecessors_of(2).sort - assert_equal [ 3 ], graph.direct_successors_of(2).sort - assert_equal [ 1, 2 ], graph.direct_predecessors_of(3).sort - assert_equal [ 2 ], graph.direct_successors_of(3).sort - assert_equal Set.new([ 1 ]), graph.roots + assert_equal [], graph.direct_predecessors_of(1).sort + assert_equal [2, 3], graph.direct_successors_of(1).sort + assert_equal [1, 3], graph.direct_predecessors_of(2).sort + assert_equal [3], graph.direct_successors_of(2).sort + assert_equal [1, 2], graph.direct_predecessors_of(3).sort + assert_equal [2], graph.direct_successors_of(3).sort + assert_equal Set.new([1]), graph.roots graph.delete_edges_to(2) - assert_equal [ ], graph.direct_predecessors_of(1).sort - assert_equal [ 3 ], graph.direct_successors_of(1).sort - assert_equal [ ], graph.direct_predecessors_of(2).sort - assert_equal [ 3 ], graph.direct_successors_of(2).sort - assert_equal [ 1, 2 ], graph.direct_predecessors_of(3).sort - assert_equal [ ], graph.direct_successors_of(3).sort - assert_equal Set.new([ 1, 2 ]), graph.roots + assert_equal [], graph.direct_predecessors_of(1).sort + assert_equal [3], graph.direct_successors_of(1).sort + assert_equal [], graph.direct_predecessors_of(2).sort + assert_equal [3], graph.direct_successors_of(2).sort + assert_equal [1, 2], graph.direct_predecessors_of(3).sort + assert_equal [], graph.direct_successors_of(3).sort + assert_equal Set.new([1, 2]), graph.roots end def test_delete_vertex - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 1) graph.add_edge(2, 3) graph.add_edge(3, 2) graph.add_edge(1, 3) graph.add_edge(3, 1) graph.delete_vertex(2) - assert_equal [ 3 ], graph.direct_predecessors_of(1).sort - assert_equal [ 3 ], graph.direct_successors_of(1).sort - assert_equal [ 1 ], graph.direct_predecessors_of(3).sort - assert_equal [ 1 ], graph.direct_successors_of(3).sort + assert_equal [3], graph.direct_predecessors_of(1).sort + assert_equal [3], graph.direct_successors_of(1).sort + assert_equal [1], graph.direct_predecessors_of(3).sort + assert_equal [1], graph.direct_successors_of(3).sort assert_equal Set.new([]), graph.roots end def test_delete_vertex_resulting_roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) - assert_equal Set.new([ 1, 2, 3 ]), graph.roots + graph = Nanoc::DirectedGraph.new([1, 2, 3]) + assert_equal Set.new([1, 2, 3]), graph.roots graph.add_edge(1, 2) graph.add_edge(2, 3) - assert_equal Set.new([ 1 ]), graph.roots + assert_equal Set.new([1]), graph.roots graph.delete_vertex(2) - assert_equal Set.new([ 1, 3 ]), graph.roots + assert_equal Set.new([1, 3]), graph.roots end def test_should_return_empty_array_for_nonexistant_vertices - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) assert_equal [], graph.direct_predecessors_of(4) assert_equal [], graph.predecessors_of(4) assert_equal [], graph.direct_successors_of(4) assert_equal [], graph.successors_of(4) end def test_roots_after_init - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) - assert_equal Set.new([ 1, 2, 3 ]), graph.roots + assert_equal Set.new([1, 2, 3]), graph.roots end def test_roots_after_adding_edge - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) - assert_equal Set.new([ 1, 3 ]), graph.roots + assert_equal Set.new([1, 3]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 3) - assert_equal Set.new([ 1, 2 ]), graph.roots + assert_equal Set.new([1, 2]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(2, 1) - assert_equal Set.new([ 2, 3 ]), graph.roots + assert_equal Set.new([2, 3]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) - assert_equal Set.new([ 1 ]), graph.roots + assert_equal Set.new([1]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) graph.add_edge(3, 1) assert_equal Set.new([]), graph.roots end def test_roots_after_removing_edge - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.delete_edge(1, 2) - assert_equal Set.new([ 1, 2, 3 ]), graph.roots + assert_equal Set.new([1, 2, 3]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 3) - assert_equal Set.new([ 1, 2 ]), graph.roots + assert_equal Set.new([1, 2]), graph.roots graph.delete_edge(1, 2) # no such edge - assert_equal Set.new([ 1, 2 ]), graph.roots + assert_equal Set.new([1, 2]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(2, 1) graph.delete_edge(2, 1) - assert_equal Set.new([ 1, 2, 3 ]), graph.roots + assert_equal Set.new([1, 2, 3]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) graph.delete_edge(1, 2) - assert_equal Set.new([ 1, 2 ]), graph.roots + assert_equal Set.new([1, 2]), graph.roots graph.delete_edge(2, 3) - assert_equal Set.new([ 1, 2, 3 ]), graph.roots + assert_equal Set.new([1, 2, 3]), graph.roots - graph = Nanoc::DirectedGraph.new([ 1, 2, 3 ]) + graph = Nanoc::DirectedGraph.new([1, 2, 3]) graph.add_edge(1, 2) graph.add_edge(2, 3) graph.add_edge(3, 1) graph.delete_edge(1, 2) - assert_equal Set.new([ 2 ]), graph.roots + assert_equal Set.new([2]), graph.roots graph.delete_edge(2, 3) - assert_equal Set.new([ 2, 3 ]), graph.roots + assert_equal Set.new([2, 3]), graph.roots graph.delete_edge(3, 1) - assert_equal Set.new([ 1, 2, 3 ]), graph.roots + assert_equal Set.new([1, 2, 3]), graph.roots end def test_example YARD.parse(LIB_DIR + '/nanoc/base/directed_graph.rb') assert_examples_correct 'Nanoc::DirectedGraph'