5da61f5ef1b2bd627e0d285bb873401c6ea28c17
1 require File
.expand_path(File
.dirname(__FILE__
) + '/../spec_helper')
12 let (:g) { Graph
.new
}
13 describe
"#initialize" do
14 it
"creates an empty graph" do
16 g
.edges
.should be_empty
17 g
.vertices
.should be_empty
20 it
"creates a graph with some parameters" do
21 g
= Graph
.new
:value1 => 1, :value2 => "value2", :value3 => :v3
23 g
.value2
.should
== "value2"
24 g
.value3
.should
== :v3
25 g
.value4
.should be_nil
30 describe
"adds attribues" do
31 it
"adds then reports arbitrary attributes" do
38 it
"adds a set of vertices" do
39 g
.vertices
.should be_empty
43 g
.should
have(2).vertices
44 g
.vertices
.should
include(v1
)
45 g
.vertices
.should
include(v2
)
48 it
"adds a set of edges" do
49 g
.edges
.should be_empty
53 g
.should
have(2).edges
54 g
.edges
.should
include(e1
)
55 g
.edges
.should
include(e2
)
58 it
"adds a mixed set of vertices and edges" do
59 g
.vertices
.should be_empty
60 g
.edges
.should be_empty
65 g
<< v1
<< e1
<< v2
<< e2
66 g
.should
have(2).vertices
67 g
.vertices
.should
include(v1
)
68 g
.vertices
.should
include(v2
)
69 g
.should
have(2).edges
70 g
.edges
.should
include(e1
)
71 g
.edges
.should
include(e2
)
74 it
"adds a subclass of Vertex" do
75 g
.vertices
.should be_empty
79 g
.should
have(2).vertices
80 g
.vertices
.should
include(v1
)
81 g
.vertices
.should
include(v2
)
86 it
"adds and records an edge between vertices" do