spec/futuroscope/convenience_spec.rb in futuroscope-0.0.1 vs spec/futuroscope/convenience_spec.rb in futuroscope-0.0.2
- old
+ new
@@ -6,10 +6,26 @@
it "adds a convenience method to ruby's kernel" do
x = future{ sleep(1); 1 }
y = future{ sleep(1); 2 }
z = future{ sleep(1); 3 }
- Timeout::timeout(1.5) do
+ Timeout::timeout(2.5) do
expect(x + y + z).to eq(6)
+ end
+ end
+end
+
+describe "Enumerable#future_map" do
+ it "adds a future_map method do Enumerable" do
+ items = [1, 2, 3]
+ map = items.future_map do |i|
+ sleep(1)
+ i + 1
+ end
+
+ Timeout::timeout(2.5) do
+ expect(map.first).to eq(2)
+ expect(map[1]).to eq(3)
+ expect(map.last).to eq(4)
end
end
end