[macruby-changes] [3445] MacRuby/trunk/spec/macruby/library/dispatch/enumerable_spec.rb
source_changes at macosforge.org
source_changes at macosforge.org
Mon Feb 8 15:03:48 PST 2010
Revision: 3445
http://trac.macosforge.org/projects/ruby/changeset/3445
Author: ernest.prabhakar at gmail.com
Date: 2010-02-08 15:03:48 -0800 (Mon, 08 Feb 2010)
Log Message:
-----------
Initial enumerable spec
Added Paths:
-----------
MacRuby/trunk/spec/macruby/library/dispatch/enumerable_spec.rb
Added: MacRuby/trunk/spec/macruby/library/dispatch/enumerable_spec.rb
===================================================================
--- MacRuby/trunk/spec/macruby/library/dispatch/enumerable_spec.rb (rev 0)
+++ MacRuby/trunk/spec/macruby/library/dispatch/enumerable_spec.rb 2010-02-08 23:03:48 UTC (rev 3445)
@@ -0,0 +1,68 @@
+require File.dirname(__FILE__) + "/../../spec_helper"
+require 'dispatch'
+
+if MACOSX_VERSION >= 10.6
+ describe "parallel Enumerable" do
+ before :each do
+ @ary = (1..3).to_a
+ end
+
+ describe :p_each do
+ it "exists on objects that support Enumerable" do
+ @ary.respond_to?(:p_each).should == true
+ end
+
+ it "behaves like each" do
+ @sum1 = 0
+ @ary.each {|v| @sum1 += v*v}
+ @sum2 = 0
+ @q = Dispatch.queue_for(@sum2)
+ @ary.p_each {|v| temp = v*v; @q.sync {@sum2 += temp} }
+ @sum1.should == @sum2
+ end
+
+ it "executes concurrently" do
+ true.should == true
+ end
+ end
+
+ describe :p_each_with_index do
+ it "exists on objects that support Enumerable" do
+ @ary.respond_to?(:p_each).should == true
+ end
+ it "behaves like each_with_index" do
+ @ary.should.respond_to? :p_each_with_index
+ end
+
+ it "executes concurrently" do
+ true.should == true
+ end
+ end
+
+ describe :p_inject do
+ it "exists on objects that support Enumerable" do
+ @ary.respond_to?(:p_each).should == true
+ end
+ it "behaves like inject" do
+ @ary.should.respond_to? :p_inject
+ end
+
+ it "executes concurrently" do
+ true.should == true
+ end
+ end
+
+ describe :p_map do
+ it "exists on objects that support Enumerable" do
+ @ary.respond_to?(:p_each).should == true
+ end
+ it "behaves like map" do
+ @ary.should.respond_to? :p_map
+ end
+
+ it "executes concurrently" do
+ true.should == true
+ end
+ end
+ end
+end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100208/3840c392/attachment.html>
More information about the macruby-changes
mailing list