v = Vertex.new
v.edges.should be_empty
end
+
+ it "creates a vertex with some parameters" do
+ v = Vertex.new :value1 => 1, :value2 => "value2", :value3 => :v3
+ v.value1.should == 1
+ v.value2.should == "value2"
+ v.value3.should == :v3
+ v.value4.should be_nil
+ end
end # #initialize
describe "adds attribues" do
e.vertices.should include(v)
e.vertices.should include(v1)
- e.should have(2).connections
+ e.should have(2).connections
end
+ it "connects two vertices by an edge with attributes" do
+ v1 = Vertex.new
+ v1.id = :v1
+ e = v.connect(v1, {:type => :edge_type})
+ e.type.should == :edge_type
+ end
+
it "creates a self-connection" do
e = v.connect v
e.should have(2).connections
end
+ it "creates a self-connection with an edge with attributes" do
+ e = v.connect(v, {:type => :edge_type})
+ e.type.should == :edge_type
+ end
+
end # #connect
describe "#neighbours" do