spec/hamster/vector/reduce_spec.rb in hamster-1.0.1.pre.rc.1 vs spec/hamster/vector/reduce_spec.rb in hamster-1.0.1.pre.rc2
- old
+ new
@@ -1,87 +1,62 @@
require "spec_helper"
-
require "hamster/vector"
describe Hamster::Vector do
-
[:reduce, :inject, :fold, :foldr].each do |method|
-
describe "##{method}" do
-
[
[[], 10, 10],
[[1], 10, 9],
[[1, 2, 3], 10, 4],
].each do |values, initial, expected|
describe "on #{values.inspect}" do
-
before do
@vector = Hamster.vector(*values)
end
describe "with an initial value of #{initial}" do
-
describe "and a block" do
-
it "returns #{expected.inspect}" do
@vector.send(method, initial) { |memo, item| memo - item }.should == expected
end
-
end
describe "and no block" do
-
it "returns the memo" do
@vector.send(method, initial).should == initial
end
-
end
-
end
-
end
-
end
[
[[], nil],
[[1], 1],
[[1, 2, 3], -4],
].each do |values, expected|
describe "on #{values.inspect}" do
-
before do
@vector = Hamster.vector(*values)
end
describe "with no initial value" do
-
describe "and a block" do
-
it "returns #{expected.inspect}" do
@vector.send(method) { |memo, item| memo - item }.should == expected
end
-
end
describe "and no block" do
-
it "returns nil" do
@vector.send(method).should be_nil
end
-
end
-
end
-
end
-
end
-
end
-
end
-
-end
+end
\ No newline at end of file