X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=spec%2Funit%2Farray_spec.rb;fp=spec%2Funit%2Farray_spec.rb;h=d189922c600bad5048de028381c8a30f06822961;hb=b87d2f4e68281062df1913440ca5753ae63314a9;hp=0000000000000000000000000000000000000000;hpb=ab0ea530b8ac956091f17b104ab2311336cfc250;p=packages%2Fprecise%2Fmcollective.git diff --git a/spec/unit/array_spec.rb b/spec/unit/array_spec.rb new file mode 100755 index 0000000..d189922 --- /dev/null +++ b/spec/unit/array_spec.rb @@ -0,0 +1,30 @@ +#!/usr/bin/env rspec + +require 'spec_helper' + +class Array + describe "#in_groups_of" do + it "should correctly group array members" do + [1,2,3,4,5,6,7,8,9,10].in_groups_of(5).should == [[1,2,3,4,5], [6,7,8,9,10]] + end + + it "should padd missing data with correctly" do + arr = [1,2,3,4,5,6,7,8,9,10] + + arr.in_groups_of(3).should == [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, nil, nil]] + arr.in_groups_of(3, 0).should == [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 0, 0]] + arr.in_groups_of(11).should == [[1,2,3,4,5, 6,7,8,9,10, nil]] + arr.in_groups_of(11, 0).should == [[1,2,3,4,5, 6,7,8,9,10, 0]] + end + + it "should indicate when the last abtched was reached" do + arr = [1,2,3,4,5,6,7,8,9,10] + + ctr = 0 + + [1,2,3,4,5,6,7,8,9,10].in_groups_of(3) {|a, last_batch| ctr += 1 unless last_batch} + + ctr.should == 3 + end + end +end