abstract_graph 1.1.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
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