abstract_graph 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +13 -5
  2. data/Rakefile +11 -1
  3. data/lib/abstract_graph.rb +1 -0
  4. data/lib/abstract_graph/composition.rb +1 -1
  5. data/lib/abstract_graph/composition/edge.rb +5 -0
  6. data/lib/abstract_graph/composition/edge/initialize.rb +6 -0
  7. data/lib/abstract_graph/composition/edge/is_coincident.rb +5 -2
  8. data/lib/abstract_graph/composition/unique_name_collection.rb +28 -0
  9. data/lib/abstract_graph/composition/unique_name_collection/add.rb +23 -0
  10. data/lib/abstract_graph/composition/unique_name_collection/delete.rb +20 -0
  11. data/lib/abstract_graph/composition/unique_name_collection/dup.rb +24 -0
  12. data/lib/abstract_graph/composition/unique_name_collection/each.rb +18 -0
  13. data/lib/abstract_graph/composition/unique_name_collection/find.rb +18 -0
  14. data/lib/abstract_graph/composition/unique_name_collection/initialize.rb +22 -0
  15. data/lib/abstract_graph/composition/unique_name_collection/link.rb +42 -0
  16. data/lib/abstract_graph/composition/unique_name_collection/method_missing.rb +18 -0
  17. data/lib/abstract_graph/composition/unique_name_collection/rename.rb +34 -0
  18. data/lib/abstract_graph/composition/unique_name_collection/ticket.rb +18 -0
  19. data/lib/abstract_graph/composition/unique_name_collection/ticket/get.rb +20 -0
  20. data/lib/abstract_graph/composition/unique_name_collection/ticket/initialize.rb +20 -0
  21. data/lib/abstract_graph/composition/unique_name_collection/ticket/set.rb +20 -0
  22. data/lib/abstract_graph/composition/vertex.rb +5 -1
  23. data/lib/abstract_graph/composition/vertex/initialize.rb +6 -0
  24. data/lib/abstract_graph/graph.rb +1 -0
  25. data/lib/abstract_graph/graph/add_edge.rb +9 -8
  26. data/lib/abstract_graph/graph/add_vertex.rb +5 -2
  27. data/lib/abstract_graph/graph/adjacency_list.rb +8 -3
  28. data/lib/abstract_graph/graph/change_edge_name.rb +6 -4
  29. data/lib/abstract_graph/graph/change_vertex_name.rb +5 -3
  30. data/lib/abstract_graph/graph/connected.rb +36 -0
  31. data/lib/abstract_graph/graph/delete_edge.rb +5 -4
  32. data/lib/abstract_graph/graph/delete_vertex.rb +5 -4
  33. data/lib/abstract_graph/graph/dup.rb +8 -3
  34. data/lib/abstract_graph/graph/get_edge_name.rb +7 -4
  35. data/lib/abstract_graph/graph/has_edge.rb +6 -3
  36. data/lib/abstract_graph/graph/has_vertex.rb +6 -3
  37. data/lib/abstract_graph/graph/initialize.rb +5 -1
  38. data/lib/abstract_graph/graph/is_adjacent.rb +9 -7
  39. data/lib/abstract_graph/graph/merge_vertices.rb +16 -14
  40. data/lib/abstract_graph/graph/split_vertex.rb +10 -7
  41. data/lib/abstract_graph/graph/templates/complete_bipartite_graph.rb +7 -5
  42. data/lib/abstract_graph/graph/templates/complete_graph.rb +8 -6
  43. data/lib/abstract_graph/graph/templates/cycle_graph.rb +6 -5
  44. data/lib/abstract_graph/graph/templates/path_graph.rb +6 -4
  45. data/lib/abstract_graph/graph/templates/petersen_graph.rb +8 -2
  46. data/lib/abstract_graph/version.rb +1 -1
  47. data/spec/abstract_graph/composition/{uniquenamecollection → unique_name_collection}/add_spec.rb +0 -0
  48. data/spec/abstract_graph/composition/{uniquenamecollection → unique_name_collection}/dup_spec.rb +0 -0
  49. data/spec/abstract_graph/composition/unique_name_collection/each_spec.rb +38 -0
  50. data/spec/abstract_graph/composition/unique_name_collection/find_spec.rb +33 -0
  51. data/spec/abstract_graph/composition/{uniquenamecollection → unique_name_collection}/initialize_spec.rb +0 -0
  52. data/spec/abstract_graph/composition/{uniquenamecollection → unique_name_collection}/link_spec.rb +0 -0
  53. data/spec/abstract_graph/composition/{uniquenamecollection → unique_name_collection}/method_missing_spec.rb +4 -15
  54. data/spec/abstract_graph/composition/{uniquenamecollection → unique_name_collection}/rename_spec.rb +1 -1
  55. data/spec/abstract_graph/composition/{uniquenamecollection_spec.rb → unique_name_collection_spec.rb} +0 -0
  56. data/spec/abstract_graph/graph/add_edge_spec.rb +1 -1
  57. data/spec/abstract_graph/graph/connected_spec.rb +39 -0
  58. data/tasks/benchmark.rb +47 -0
  59. data/tasks/create_method.rb +64 -0
  60. data/tasks/list_methods.rb +5 -0
  61. metadata +45 -32
  62. data/lib/abstract_graph/composition/uniquenamecollection.rb +0 -22
  63. data/lib/abstract_graph/composition/uniquenamecollection/add.rb +0 -19
  64. data/lib/abstract_graph/composition/uniquenamecollection/dup.rb +0 -20
  65. data/lib/abstract_graph/composition/uniquenamecollection/initialize.rb +0 -14
  66. data/lib/abstract_graph/composition/uniquenamecollection/link.rb +0 -32
  67. data/lib/abstract_graph/composition/uniquenamecollection/method_missing.rb +0 -14
  68. data/lib/abstract_graph/composition/uniquenamecollection/rename.rb +0 -28
  69. data/lib/abstract_graph/composition/vertex/delete.rb +0 -12
  70. data/spec/abstract_graph/composition/vertex/delete_spec.rb +0 -12
@@ -4,18 +4,20 @@ module AbstractGraph
4
4
  class Graph
5
5
  class << self
6
6
 
7
- # create a variabled sized complete graph
8
- # that is, a graph where every vertex is adjacent
9
- # to every other vertex
10
- # p: the number of vertices in the desired complete graph
7
+ # d: Create a complete graph K(n).
8
+ # a: It adds n vertices, named "v(i)", i=2^0..n-1. Then adds the edges, the name being sum
9
+ # "e(i)" where i is sum of two connecting vertices.
10
+ # t: n * t(add_vertex) + C(n,2) * t(add_edge)
11
+ # p: n is number of vertices
12
+ # r: a complete graph
11
13
  def complete_graph n
12
14
  result = new
13
15
  vertexNames = n.times.collect { |i| 2**i }
14
16
  vertexNames.each do |i|
15
17
  result.add_vertex "v#{i}"
16
18
  end
17
- vertexNames.combination(2).each do |i|
18
- result.add_edge( "e#{i[0]+i[1]}", "v#{i[0]}", "v#{i[1]}" )
19
+ vertexNames.combination(2).each do |i,j|
20
+ result.add_edge( "e#{i+j}", "v#{i}", "v#{j}" )
19
21
  end
20
22
  result
21
23
  end
@@ -4,11 +4,12 @@ module AbstractGraph
4
4
  class Graph
5
5
  class << self
6
6
 
7
- # create a variabled sized cycle graph,
8
- # ie, a connected graph such that every vertex has
9
- # exactly two distinct paths to every other vertex
10
- # p: the number of vertices in the cycle graph
11
- # coincidently, also the number of edges
7
+ # d: Create a cycle graph
8
+ # a: Create the vertices and edges at the same time. The naming scheme is power of two for
9
+ # vertices and the sum of vertices for edges.
10
+ # t: n * (t(add_vertex) + t(add_edge))
11
+ # p: n is the number of vertices
12
+ # r: a cycle graph
12
13
  def cycle_graph n
13
14
  result = new
14
15
  vertexNames = (n-1).times.collect { |i| 2**(i + 1) }
@@ -4,10 +4,12 @@ module AbstractGraph
4
4
  class Graph
5
5
  class << self
6
6
 
7
- # create a variable sized path graph,
8
- # ie, a connected graph with 2 end vertices and n-2 connector
9
- # vertices. Each connector vertex has two adjacent vertices
10
- # p: the number of vertices in the path, n-1 edges
7
+ # d: Returns a path.
8
+ # a: It creates a path.by adding vertices and edges at the same time, vertices named "v(i)"
9
+ # i=2^0..n-1, and edges "e(i)" where i is sum of vertices adjacent.
10
+ # t: n * (t(add_vertex) + t(add_edge))
11
+ # p: n is the number of vertices
12
+ # r: a path graph
11
13
  def path_graph n
12
14
  result = new
13
15
 
@@ -4,6 +4,12 @@ module AbstractGraph
4
4
  class Graph
5
5
  class << self
6
6
 
7
+ # d: Create a peterson graph.
8
+ # a: It adds 10 vertices "v(i)", i=2^0..9. Then adds the specified edges, according to the
9
+ # specified edges array.
10
+ # t: constant
11
+ # p: none
12
+ # r: a peterson graph
7
13
  # create a petersen graph.
8
14
  # ie, a 3 regular graph with 10 vertices and 15 edges
9
15
  def petersen_graph
@@ -24,8 +30,8 @@ module AbstractGraph
24
30
  [4, 9], [5, 8], [5, 7],
25
31
  [6, 9], [7, 9], [6, 8]]
26
32
 
27
- specifiedEdges.each do |edgePair|
28
- result.add_edge "e#{vertexNames[edgePair[0]] + vertexNames[edgePair[1]]}", "v#{vertexNames[edgePair[0]]}", "v#{vertexNames[edgePair[1]]}"
33
+ specifiedEdges.each do |edge1, edge2|
34
+ result.add_edge "e#{vertexNames[edge1] + vertexNames[edge2]}", "v#{vertexNames[edge1]}", "v#{vertexNames[edge2]}"
29
35
  end
30
36
 
31
37
  result
@@ -1,5 +1,5 @@
1
1
  # required in "abstract_graph"
2
2
 
3
3
  module AbstractGraph
4
- VERSION = "1.1.0"
4
+ VERSION = "1.2.1"
5
5
  end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+
3
+ module AbstractGraph
4
+ module Composition
5
+ describe UniqueNameCollection do
6
+
7
+ before(:each) do
8
+ @collection = UniqueNameCollection.new
9
+ dummy = Dummy.new
10
+ dummy.name = "DummyName"
11
+ @collection.add dummy
12
+ dummy2 = Dummy.new
13
+ dummy2.name = "DummyName2"
14
+ @collection.add dummy2
15
+ end
16
+
17
+ describe "#each(&Block)" do
18
+
19
+ it "returns an object of type Enumerable" do
20
+ @collection.each.should be_an_instance_of(Enumerator)
21
+ end
22
+
23
+ it "returns an object of type Hash if passed a block" do
24
+ @collection.each{}.should be_an_instance_of(Hash)
25
+ @collection.each{|d|}.should be_an_instance_of(Hash)
26
+ end
27
+
28
+ it "passes each object back to the block of arity 1" do
29
+ @collection.each do |d|
30
+ d.should be_an_instance_of( Dummy )
31
+ end
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ module AbstractGraph
4
+ module Composition
5
+ describe UniqueNameCollection do
6
+
7
+ before(:each) do
8
+ @collection = UniqueNameCollection.new
9
+ @dummy = Dummy.new
10
+ @name = "DummyName"
11
+ @dummy.name = @name
12
+ @collection.add(@dummy)
13
+ end
14
+
15
+ describe "#find(name)" do
16
+
17
+ it "returns an object of the right class" do
18
+ @collection.find(@name).should be_an_instance_of(Dummy)
19
+ end
20
+
21
+ it "should return the correct object" do
22
+ @collection.find(@name).should eql(@dummy)
23
+ end
24
+
25
+ it "should return nil if a name that doesn't exist is passed" do
26
+ @collection.find("BadName").should be_nil
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+ end
33
+ end
@@ -24,23 +24,12 @@ module AbstractGraph
24
24
 
25
25
  end
26
26
 
27
- describe "#has_key?(String)" do
27
+ describe "#each" do
28
28
 
29
- it "should return whether the string is an included name" do
30
- @collection.has_key?('d').should be_true
31
- @collection.has_key?('saddy').should be_false
32
- end
33
-
34
- end
35
-
36
- describe "#each_key" do
37
-
38
- it "goes through every name in the collection" do
39
- alphabet = ""
40
- @collection.each_key do |c|
41
- alphabet += c
29
+ it "goes through every object in the collection" do
30
+ @collection.each do |c|
31
+ c.should be_an_instance_of(Dummy)
42
32
  end
43
- alphabet.should == "abcdefghijklmnopqrstuvwxyz"
44
33
  end
45
34
 
46
35
  end
@@ -20,7 +20,7 @@ module AbstractGraph
20
20
 
21
21
  it "removes the original name from the hash" do
22
22
  @collection.rename @name, @newname
23
- @collection[@name].should be_nil
23
+ @collection.collection[@name].should be_nil
24
24
  end
25
25
 
26
26
  it "renames the dummy object" do
@@ -37,7 +37,7 @@ module AbstractGraph
37
37
  it "returns nil if any of the vertices don't exist" do
38
38
  @graph.add_edge( "MyEdge", @vertex1, "randomString" ).should be_nil
39
39
  @graph.add_edge( "MyEdge", "randomString", @vertex1 ).should be_nil
40
- @graph.edges["MyEdge"].should be_nil
40
+ @graph.edges.collection["MyEdge"].should be_nil
41
41
  end
42
42
 
43
43
  end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ module AbstractGraph
4
+ describe Graph do
5
+
6
+ before :all do
7
+ end
8
+
9
+ before :each do
10
+ end
11
+
12
+ describe "#connected?" do
13
+
14
+ it "returns true for any path" do
15
+ Graph.path_graph( 3 ).connected?.should be_true
16
+ Graph.path_graph( 1 ).connected?.should be_true
17
+ Graph.path_graph( 10 ).connected?.should be_true
18
+ end
19
+
20
+ it "returns true for an empty graph" do
21
+ Graph.new.connected?.should be_true
22
+ end
23
+
24
+ it "returns true for any cycle" do
25
+ Graph.cycle_graph( 3 ).connected?.should be_true
26
+ Graph.cycle_graph( 5 ).connected?.should be_true
27
+ end
28
+
29
+ it "returns false after a path loses an edge" do
30
+ graph3path = Graph.path_graph(3)
31
+ graph3path.connected?.should be_true
32
+ graph3path.delete_edge! "e3"
33
+ graph3path.connected?.should be_false
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,47 @@
1
+ namespace :benchmark do
2
+
3
+ desc "Test that benchmarks work"
4
+ task :test do
5
+ p "Setting up benchmarking"
6
+ setup_benchmark
7
+
8
+ p "Testing benchmarking"
9
+ Timer.start
10
+ AbstractGraph::Graph.petersen_graph
11
+ end
12
+
13
+ desc "Benchmark a file with AbstractGraph code"
14
+ task :run, :file_path do |t, args|
15
+ setup_benchmark
16
+ Timer.start
17
+ require args[:file_path]
18
+ end
19
+
20
+ module Timer
21
+ class << self
22
+ def start
23
+ @start_time = Time.now
24
+ end
25
+
26
+ def start_method method
27
+ p "start #{method} #{'%.8f' % (Time.now - @start_time)}"
28
+ end
29
+
30
+ def end_method method
31
+ p "end #{method} #{'%.8f' % (Time.now - @start_time)}"
32
+ end
33
+ end
34
+ end
35
+
36
+ def setup_benchmark
37
+ AbstractGraph::Graph.instance_methods(false).each do |method|
38
+ AbstractGraph::Graph.send( :alias_method, "benched_#{method}", method )
39
+ AbstractGraph::Graph.send( :define_method, method ) do |*args, &block|
40
+ Timer.start_method method
41
+ send( "benched_#{method}", *args, &block )
42
+ Timer.end_method method
43
+ end
44
+ end
45
+ end
46
+ end
47
+
@@ -0,0 +1,64 @@
1
+ desc "Create a method and corresponding test - run with wanted lib file"
2
+ task :create_method, :method_path do |t, args|
3
+ method_path = args[:method_path]
4
+ if File.extname(method_path) == ""
5
+ method_path << ".rb"
6
+ end
7
+ method_directories, method_name = File.split(method_path)
8
+ method_name = File.basename(method_name, ".rb")
9
+
10
+ lib_path = "lib/" + method_path
11
+ spec_path = File.join "spec/", method_directories, method_name + "_spec.rb"
12
+ lib_require_path = "lib/" + method_directories + ".rb"
13
+
14
+
15
+ if File.file?( lib_path ) || File.file?( spec_path )
16
+ puts "This file already exists"
17
+ next
18
+ end
19
+ unless File.file?( lib_require_path )
20
+ puts "No place to put the require"
21
+ next
22
+ end
23
+
24
+ # Create the filler
25
+ lib_fill = "# required in \"#{method_directories}\"\n\n"
26
+ spec_fill = "require 'spec_helper'\n\n"
27
+
28
+ modules = method_directories.split(/\//)
29
+ modules.map! do |modulez|
30
+ modulez.capitalize.gsub(/_./) {|s| s[1].capitalize}
31
+ end
32
+ last_module = modules.pop
33
+
34
+ modules.each do |modulez|
35
+ lib_fill << "module #{modulez}\n"
36
+ spec_fill << "module #{modulez}\n"
37
+ end
38
+
39
+ lib_fill << "class #{last_module}\n"
40
+ spec_fill << "describe #{last_module} do\n"
41
+
42
+ lib_fill << "\n# d:\n# a:\n# t:\n# p:\n# r:\ndef #{method_name}\nend\n\n"
43
+ spec_fill << "\ndescribe \"##{method_name}\" do\nend\n\n"
44
+
45
+ modules.size.next.times do |i|
46
+ lib_fill << "end\n"
47
+ spec_fill << "end\n"
48
+ end
49
+
50
+
51
+ puts "Adding #{lib_path}"
52
+ File.open( lib_path, "w" ) do |file|
53
+ file << lib_fill
54
+ end
55
+ puts "Adding #{spec_path}"
56
+ File.open( spec_path, "w" ) do |file|
57
+ file << spec_fill
58
+ end
59
+ puts "Updating #{lib_require_path}"
60
+ File.open( lib_require_path, "a" ) do |file|
61
+ file.write "require \"#{method_directories}/#{method_name}\""
62
+ end
63
+ end
64
+
@@ -0,0 +1,5 @@
1
+ desc "List all methods"
2
+ task :list_methods do
3
+ puts Dir.glob("lib/**/*").select {|f| File.file? f}.map {|f| f[/(?<=lib\/).*/]}
4
+ end
5
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abstract_graph
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austin Lee ~D4L
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-07-07 00:00:00.000000000 Z
11
+ date: 2014-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -24,9 +24,8 @@ dependencies:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.5'
27
- description: |-
28
- Abstract Graph is a graphing library that can create
29
- mathematical graphs and perform operatations on them.
27
+ description: ! "Abstract Graph is a graphing library that can create\n mathematical
28
+ graphs and perform operatations on them."
30
29
  email:
31
30
  - Austin.Lee.D4L@gmail.com
32
31
  executables: []
@@ -44,15 +43,21 @@ files:
44
43
  - lib/abstract_graph/composition/edge.rb
45
44
  - lib/abstract_graph/composition/edge/initialize.rb
46
45
  - lib/abstract_graph/composition/edge/is_coincident.rb
47
- - lib/abstract_graph/composition/uniquenamecollection.rb
48
- - lib/abstract_graph/composition/uniquenamecollection/add.rb
49
- - lib/abstract_graph/composition/uniquenamecollection/dup.rb
50
- - lib/abstract_graph/composition/uniquenamecollection/initialize.rb
51
- - lib/abstract_graph/composition/uniquenamecollection/link.rb
52
- - lib/abstract_graph/composition/uniquenamecollection/method_missing.rb
53
- - lib/abstract_graph/composition/uniquenamecollection/rename.rb
46
+ - lib/abstract_graph/composition/unique_name_collection.rb
47
+ - lib/abstract_graph/composition/unique_name_collection/add.rb
48
+ - lib/abstract_graph/composition/unique_name_collection/delete.rb
49
+ - lib/abstract_graph/composition/unique_name_collection/dup.rb
50
+ - lib/abstract_graph/composition/unique_name_collection/each.rb
51
+ - lib/abstract_graph/composition/unique_name_collection/find.rb
52
+ - lib/abstract_graph/composition/unique_name_collection/initialize.rb
53
+ - lib/abstract_graph/composition/unique_name_collection/link.rb
54
+ - lib/abstract_graph/composition/unique_name_collection/method_missing.rb
55
+ - lib/abstract_graph/composition/unique_name_collection/rename.rb
56
+ - lib/abstract_graph/composition/unique_name_collection/ticket.rb
57
+ - lib/abstract_graph/composition/unique_name_collection/ticket/get.rb
58
+ - lib/abstract_graph/composition/unique_name_collection/ticket/initialize.rb
59
+ - lib/abstract_graph/composition/unique_name_collection/ticket/set.rb
54
60
  - lib/abstract_graph/composition/vertex.rb
55
- - lib/abstract_graph/composition/vertex/delete.rb
56
61
  - lib/abstract_graph/composition/vertex/initialize.rb
57
62
  - lib/abstract_graph/graph.rb
58
63
  - lib/abstract_graph/graph/add_edge.rb
@@ -60,6 +65,7 @@ files:
60
65
  - lib/abstract_graph/graph/adjacency_list.rb
61
66
  - lib/abstract_graph/graph/change_edge_name.rb
62
67
  - lib/abstract_graph/graph/change_vertex_name.rb
68
+ - lib/abstract_graph/graph/connected.rb
63
69
  - lib/abstract_graph/graph/delete_edge.rb
64
70
  - lib/abstract_graph/graph/delete_vertex.rb
65
71
  - lib/abstract_graph/graph/dup.rb
@@ -82,14 +88,15 @@ files:
82
88
  - spec/abstract_graph/composition/edge/name_spec.rb
83
89
  - spec/abstract_graph/composition/edge/vertices_spec.rb
84
90
  - spec/abstract_graph/composition/edge_spec.rb
85
- - spec/abstract_graph/composition/uniquenamecollection/add_spec.rb
86
- - spec/abstract_graph/composition/uniquenamecollection/dup_spec.rb
87
- - spec/abstract_graph/composition/uniquenamecollection/initialize_spec.rb
88
- - spec/abstract_graph/composition/uniquenamecollection/link_spec.rb
89
- - spec/abstract_graph/composition/uniquenamecollection/method_missing_spec.rb
90
- - spec/abstract_graph/composition/uniquenamecollection/rename_spec.rb
91
- - spec/abstract_graph/composition/uniquenamecollection_spec.rb
92
- - spec/abstract_graph/composition/vertex/delete_spec.rb
91
+ - spec/abstract_graph/composition/unique_name_collection/add_spec.rb
92
+ - spec/abstract_graph/composition/unique_name_collection/dup_spec.rb
93
+ - spec/abstract_graph/composition/unique_name_collection/each_spec.rb
94
+ - spec/abstract_graph/composition/unique_name_collection/find_spec.rb
95
+ - spec/abstract_graph/composition/unique_name_collection/initialize_spec.rb
96
+ - spec/abstract_graph/composition/unique_name_collection/link_spec.rb
97
+ - spec/abstract_graph/composition/unique_name_collection/method_missing_spec.rb
98
+ - spec/abstract_graph/composition/unique_name_collection/rename_spec.rb
99
+ - spec/abstract_graph/composition/unique_name_collection_spec.rb
93
100
  - spec/abstract_graph/composition/vertex/initialize_spec.rb
94
101
  - spec/abstract_graph/composition/vertex/name_spec.rb
95
102
  - spec/abstract_graph/composition/vertex/value_spec.rb
@@ -99,6 +106,7 @@ files:
99
106
  - spec/abstract_graph/graph/adjacency_list_spec.rb
100
107
  - spec/abstract_graph/graph/change_edge_name_spec.rb
101
108
  - spec/abstract_graph/graph/change_vertex_name_spec.rb
109
+ - spec/abstract_graph/graph/connected_spec.rb
102
110
  - spec/abstract_graph/graph/delete_edge_spec.rb
103
111
  - spec/abstract_graph/graph/delete_vertex_spec.rb
104
112
  - spec/abstract_graph/graph/dup_spec.rb
@@ -118,6 +126,9 @@ files:
118
126
  - spec/abstract_graph_spec.rb
119
127
  - spec/dummy_helper.rb
120
128
  - spec/spec_helper.rb
129
+ - tasks/benchmark.rb
130
+ - tasks/create_method.rb
131
+ - tasks/list_methods.rb
121
132
  homepage: https://github.com/D4L/abstractGraph
122
133
  licenses:
123
134
  - MIT
@@ -128,17 +139,17 @@ require_paths:
128
139
  - lib
129
140
  required_ruby_version: !ruby/object:Gem::Requirement
130
141
  requirements:
131
- - - '>='
142
+ - - ! '>='
132
143
  - !ruby/object:Gem::Version
133
144
  version: '0'
134
145
  required_rubygems_version: !ruby/object:Gem::Requirement
135
146
  requirements:
136
- - - '>='
147
+ - - ! '>='
137
148
  - !ruby/object:Gem::Version
138
149
  version: '0'
139
150
  requirements: []
140
151
  rubyforge_project:
141
- rubygems_version: 2.0.3
152
+ rubygems_version: 2.2.0
142
153
  signing_key:
143
154
  specification_version: 4
144
155
  summary: Mathmatical graph analysis software.
@@ -148,14 +159,15 @@ test_files:
148
159
  - spec/abstract_graph/composition/edge/name_spec.rb
149
160
  - spec/abstract_graph/composition/edge/vertices_spec.rb
150
161
  - spec/abstract_graph/composition/edge_spec.rb
151
- - spec/abstract_graph/composition/uniquenamecollection/add_spec.rb
152
- - spec/abstract_graph/composition/uniquenamecollection/dup_spec.rb
153
- - spec/abstract_graph/composition/uniquenamecollection/initialize_spec.rb
154
- - spec/abstract_graph/composition/uniquenamecollection/link_spec.rb
155
- - spec/abstract_graph/composition/uniquenamecollection/method_missing_spec.rb
156
- - spec/abstract_graph/composition/uniquenamecollection/rename_spec.rb
157
- - spec/abstract_graph/composition/uniquenamecollection_spec.rb
158
- - spec/abstract_graph/composition/vertex/delete_spec.rb
162
+ - spec/abstract_graph/composition/unique_name_collection/add_spec.rb
163
+ - spec/abstract_graph/composition/unique_name_collection/dup_spec.rb
164
+ - spec/abstract_graph/composition/unique_name_collection/each_spec.rb
165
+ - spec/abstract_graph/composition/unique_name_collection/find_spec.rb
166
+ - spec/abstract_graph/composition/unique_name_collection/initialize_spec.rb
167
+ - spec/abstract_graph/composition/unique_name_collection/link_spec.rb
168
+ - spec/abstract_graph/composition/unique_name_collection/method_missing_spec.rb
169
+ - spec/abstract_graph/composition/unique_name_collection/rename_spec.rb
170
+ - spec/abstract_graph/composition/unique_name_collection_spec.rb
159
171
  - spec/abstract_graph/composition/vertex/initialize_spec.rb
160
172
  - spec/abstract_graph/composition/vertex/name_spec.rb
161
173
  - spec/abstract_graph/composition/vertex/value_spec.rb
@@ -165,6 +177,7 @@ test_files:
165
177
  - spec/abstract_graph/graph/adjacency_list_spec.rb
166
178
  - spec/abstract_graph/graph/change_edge_name_spec.rb
167
179
  - spec/abstract_graph/graph/change_vertex_name_spec.rb
180
+ - spec/abstract_graph/graph/connected_spec.rb
168
181
  - spec/abstract_graph/graph/delete_edge_spec.rb
169
182
  - spec/abstract_graph/graph/delete_vertex_spec.rb
170
183
  - spec/abstract_graph/graph/dup_spec.rb