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