Sha256: f7c1492bea1c3580dcb2fa754d3a20ea44b10b8918b6e8c2f259e654015a3c38
Contents?: true
Size: 1.84 KB
Versions: 12
Compression:
Stored size: 1.84 KB
Contents
require 'spec_helper' require 'parallel_tests/grouper' require 'tmpdir' describe ParallelTests::Grouper do describe :by_steps do def write(file, content) File.open(file,'w'){|f| f.write content } end it "sorts features by steps" do tmpdir = nil result = Dir.mktmpdir do |dir| tmpdir = dir write("#{dir}/a.feature", "Feature: xxx\n Scenario: xxx\n Given something") write("#{dir}/b.feature", "Feature: xxx\n Scenario: xxx\n Given something\n Scenario: yyy\n Given something") write("#{dir}/c.feature", "Feature: xxx\n Scenario: xxx\n Given something") ParallelTests::Grouper.by_steps(["#{dir}/a.feature", "#{dir}/b.feature", "#{dir}/c.feature"],2) end # testing inside mktmpdir is always green result.should =~ [ ["#{tmpdir}/a.feature", "#{tmpdir}/c.feature"], ["#{tmpdir}/b.feature"] ] end end describe :in_even_groups_by_size do let(:files_with_size){ {"1" => 1, "2" => 2, "3" => 3, "4" => 4, "5" => 5} } def call(num_groups) ParallelTests::Grouper.in_even_groups_by_size(files_with_size, num_groups) end it "groups 1 by 1 for same groups as size" do call(5).should == [["5"], ["4"], ["3"], ["2"], ["1"]] end it "groups into even groups" do call(2).should == [["1", "2", "5"], ["3", "4"]] end it "groups into a single group" do call(1).should == [["1", "2", "3", "4", "5"]] end it "adds empty groups if there are more groups than feature files" do call(6).should == [["5"], ["4"], ["3"], ["2"], ["1"], []] end end describe :in_groups do it "groups" do ParallelTests::Grouper.in_groups([1,2,3],2).should == [[1,3],[2]] end it "keeps groups sorted" do ParallelTests::Grouper.in_groups([3,2,1],2).should == [[1,3],[2]] end end end
Version data entries
12 entries across 12 versions & 1 rubygems