class TestGraph
Public Instance Methods
setup()
click to toggle source
# File test/graph_test.rb, line 13 def setup @dg1 = DirectedAdjacencyGraph.new @edges = [[1, 2], [2, 3], [2, 4], [4, 5], [1, 6], [6, 4]] @edges.each do |(src, target)| @dg1.add_edge(src, target) end @loan_vertices = [7, 8, 9] @loan_vertices.each do |vertex| @dg1.add_vertex(vertex) end @dg2 = DirectedAdjacencyGraph[*@edges.flatten] @loan_vertices.each do |vertex| @dg2.add_vertex(vertex) end @ug = AdjacencyGraph.new(Array) @ug.add_edges(*@edges) @ug.add_vertices(*@loan_vertices) end
test_edges_to_s()
click to toggle source
Test for issue #22
# File test/graph_test.rb, line 67 def test_edges_to_s assert_equal @dg1.edges.sort.to_s, "[(1-2), (1-6), (2-3), (2-4), (4-5), (6-4)]" end
test_equality()
click to toggle source
# File test/graph_test.rb, line 34 def test_equality assert_equal @dg1, @dg1 assert_equal @dg1, @dg1.dup assert_equal @ug, @ug.dup assert_not_equal @ug, @dg1 assert_not_equal @dg1, @ug assert_not_equal @dg1, 42 assert_equal @dg1, @dg2 @dg1.add_vertex 42 assert_not_equal @dg1, @dg2 end
test_merge()
click to toggle source
# File test/graph_test.rb, line 51 def test_merge merge = DirectedAdjacencyGraph.new(Array, @dg1, @ug) assert_equal merge.num_edges, 12 assert_equal merge.num_vertices, 9 merge = DirectedAdjacencyGraph.new(Set, @dg1, @dg1) assert_equal merge.num_edges, 6 assert_equal merge.num_vertices, 9 end
test_not_implemented()
click to toggle source
# File test/graph_test.rb, line 71 def test_not_implemented graph = NotImplementedGraph.new assert_raise(NotImplementedError) { graph.each_vertex } assert_raise(NotImplementedError) { graph.each_adjacent(nil) } end
test_set_edgelist_class()
click to toggle source
# File test/graph_test.rb, line 60 def test_set_edgelist_class edges = @dg1.edges @dg1.edgelist_class=Array assert_equal edges, @dg1.edges end
test_to_adjacency()
click to toggle source
# File test/graph_test.rb, line 46 def test_to_adjacency assert_equal @dg1, @dg1.to_adjacency assert_equal @ug, @ug.to_adjacency end