- require 'test/unit'
- require 'igraph'
-
- class TestGraph < Test::Unit::TestCase
- def test_graph_size
- assert_equal 4, IGraph.new([1,2,3,4],true).vcount
- assert_equal 2, IGraph.new([1,2,3,4],true).ecount
- end
-
- def test_eid_get_edge
- assert_nothing_raised do
- IGraph.new(['A','B','C','D'],true).get_eid('A','B')
- end
- graph = IGraph.new(['A','B','C','D'],true)
- eid1 = graph.get_eid('A','B')
- eid2 = graph.get_eid('C','D')
- assert_equal ['A','B'], graph.edge(eid1)
- assert_equal ['C','D'], graph.edge(eid2);
- assert_not_equal eid1,eid2
- end
-
- def test_neighbours
- assert_nothing_raised do
- IGraph.new(['A','B','C','D'],true).neighbors('A',IGraph::ALL)
- end
- graph = IGraph.new(['A','B','C','D'],true)
- assert_equal ['B'], graph.neighbors('A',IGraph::ALL)
- assert_equal ['D'], graph.neighbors('C',IGraph::ALL)
- end
-
- def test_adjacent
- assert_nothing_raised do
- IGraph.new(['A','B','C','D'],true).adjacent('A',IGraph::ALL)
- end
- graph = IGraph.new(['A','B','C','D'],true)
- eid1 = graph.get_eid('A','B')
- eid2 = graph.adjacent('A',IGraph::ALL)[0]
- assert_equal eid1, eid2
- end
-
- def test_directed
- assert IGraph.new(['A','B','C','D'],true).is_directed?
- assert !(IGraph.new(['A','B','C','D'],false).is_directed?)
- end
-
- def test_degree
- graph = IGraph.new(['A','B','C','D'],true)
- assert_equal [1], graph.degree(['A'], IGraph::ALL,true)
- assert_equal [1,1],graph.degree(['A','B'],IGraph::ALL,true)
- assert_raises IGraphError do
- graph.degree('A',IGraph::ALL,true)
- end
- end
- end
|