Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove warnings related to Enumerator.new in ruby 2.0 #1

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ group :development do
gem "bundler"
gem "rspec"
gem "jeweler", "~> 1.8.4"
gem "rcov", ">= 0"
gem "rcov", ">= 0" if RUBY_VERSION < "1.9"
gem "rake"
end
27 changes: 12 additions & 15 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,28 +1,26 @@
GEM
remote: http://rubygems.org/
specs:
diff-lcs (1.1.2)
diff-lcs (1.1.3)
git (1.2.5)
jeweler (1.8.4)
bundler (~> 1.0)
git (>= 1.2.5)
rake
rdoc
json (1.7.5)
json (1.7.5-java)
rake (0.8.7)
rcov (0.9.9)
rcov (0.9.9-java)
json (1.7.6)
json (1.7.6-java)
rake (10.0.3)
rdoc (3.12)
json (~> 1.4)
rspec (2.3.0)
rspec-core (~> 2.3.0)
rspec-expectations (~> 2.3.0)
rspec-mocks (~> 2.3.0)
rspec-core (2.3.1)
rspec-expectations (2.3.0)
diff-lcs (~> 1.1.2)
rspec-mocks (2.3.0)
rspec (2.12.0)
rspec-core (~> 2.12.0)
rspec-expectations (~> 2.12.0)
rspec-mocks (~> 2.12.0)
rspec-core (2.12.2)
rspec-expectations (2.12.1)
diff-lcs (~> 1.1.3)
rspec-mocks (2.12.1)
stream (0.5)

PLATFORMS
Expand All @@ -33,6 +31,5 @@ DEPENDENCIES
bundler
jeweler (~> 1.8.4)
rake
rcov
rspec
stream (~> 0.5)
19 changes: 9 additions & 10 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,19 @@ RSpec::Core::RakeTask.new(:spec) do |spec|
spec.pattern = FileList['spec/**/*_spec.rb']
end

#RSpec::Core::RakeTask.new(:rcov) do |spec|
# spec.pattern = 'spec/**/*_spec.rb'
# spec.rcov = true
#end

require 'rcov/rcovtask'
Rcov::RcovTask.new do |t|
t.test_files = FileList['test/*.rb']
# t.verbose = true # uncomment to see the executed command
begin
require 'rcov/rcovtask'
Rcov::RcovTask.new do |t|
t.test_files = FileList['test/*.rb']
# t.verbose = true # uncomment to see the executed command
end
rescue LoadError
# skip
end

task :default => :test

require 'rake/rdoctask'
require 'rdoc/task'
Rake::RDocTask.new do |rdoc|
version = File.exist?('VERSION') ? File.read('VERSION') : ""

Expand Down
6 changes: 2 additions & 4 deletions lib/rgl/transitivity.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
require 'enumerator'

require 'rgl/adjacency'
require 'rgl/base'
require 'rgl/condensation'
Expand Down Expand Up @@ -116,7 +114,7 @@ def transitive_reduction
# Only add the edge v -> w if there is no other edge v -> x such that
# w is reachable from x. Make sure to completely skip the case where
# x == w.
unless Enumerator.new(cg, :each_adjacent, v).any? do |x|
unless cg.to_enum(:each_adjacent, v).any? do |x|
x != w && paths_from[x].include?(w)
end then
tr_cg.add_edge(v, w)
Expand Down Expand Up @@ -157,7 +155,7 @@ def transitive_reduction

# Choose a single edge between the members of two different strongly
# connected component to add to the graph.
edges = Enumerator.new(self, :each_edge)
edges = self.to_enum(:each_edge)
tr_cg.each_adjacent(scc) do |scc2|
g.add_edge(
*edges.find do |v, w|
Expand Down
38 changes: 19 additions & 19 deletions test/TestDirectedGraph.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
class TestDirectedGraph < Test::Unit::TestCase
def setup
@dg = DirectedAdjacencyGraph.new
[[1,2],[2,3],[3,2],[2,4]].each do |(src,target)|
[[1,2],[2,3],[3,2],[2,4]].each do |(src,target)|
@dg.add_edge(src, target)
end
end

def test_empty_graph
dg = DirectedAdjacencyGraph.new
assert dg.empty?
Expand All @@ -28,7 +28,7 @@ def test_empty_graph
assert_equal(DirectedEdge,dg.edge_class)
assert([].eql?(dg.edges))
end

def test_add
dg = DirectedAdjacencyGraph.new
dg.add_edge(1,2)
Expand All @@ -37,30 +37,30 @@ def test_add
assert(!dg.has_edge?(2,1))
assert(dg.has_vertex?(1) && dg.has_vertex?(2))
assert(!dg.has_vertex?(3))

assert_equal([1,2],dg.vertices.sort)
assert([DirectedEdge.new(1,2)].eql?(dg.edges))
assert_equal("(1-2)",dg.edges.join)

assert_equal([2],dg.adjacent_vertices(1))
assert_equal([],dg.adjacent_vertices(2))

assert_equal(1,dg.out_degree(1))
assert_equal(0,dg.out_degree(2))
end

def test_edges
assert_equal(4, @dg.edges.length)
assert_equal([1,2,2,3], @dg.edges.map {|l| l.source}.sort)
assert_equal([2,2,3,4], @dg.edges.map {|l| l.target}.sort)
assert_equal("(1-2)(2-3)(2-4)(3-2)", @dg.edges.map {|l| l.to_s}.sort.join)
# assert_equal([0,1,2,3], @dg.edges.map {|l| l.info}.sort)
end

def test_vertices
assert_equal([1,2,3,4], @dg.vertices.sort)
end

def test_edges_from_to?
assert @dg.has_edge?(1,2)
assert @dg.has_edge?(2,3)
Expand All @@ -71,7 +71,7 @@ def test_edges_from_to?
assert !@dg.has_edge?(4,1)
assert !@dg.has_edge?(4,2)
end

def test_remove_edges
@dg.remove_edge 1,2
assert !@dg.has_edge?(1,2)
Expand All @@ -82,42 +82,42 @@ def test_remove_edges
assert !@dg.has_edge?(2,3)
assert_equal('(2-4)',@dg.edges.join)
end

def test_add_vertices
dg = DirectedAdjacencyGraph.new
dg.add_vertices 1,3,2,4
assert_equal dg.vertices.sort, [1,2,3,4]

dg.remove_vertices 1,3
assert_equal dg.vertices.sort, [2,4]
end

def test_creating_from_array
dg = DirectedAdjacencyGraph[1, 2, 3, 4]
assert_equal([1,2,3,4], dg.vertices.sort)
assert_equal('(1-2)(3-4)', dg.edges.join)
end

def test_reverse
reverted = @dg.reverse
@dg.each_edge do |u,v|
assert(reverted.has_edge?(v,u))
end
end
def test_reverse

def test_reverse_with_vertex
# Add isolated vertex
@dg.add_vertex(42)
reverted = @dg.reverse

@dg.each_edge do |u,v|
assert(reverted.has_edge?(v,u))
end

assert(reverted.has_vertex?(42),
'Reverted graph should contain isolated Vertex 42')
end

def test_to_undirected
undirected = @dg.to_undirected
assert_equal '(1=2)(2=3)(2=4)', undirected.edges.sort.join
Expand Down