class Cucumber::Filters::Randomizer

 Batches up all test cases, randomizes them, and then sends them on

def done

def done
  shuffled_test_cases.each do |test_case|
    test_case.describe_to(@receiver)
  end
  @receiver.done
  self
end

def initialize(seed, receiver=nil)

def initialize(seed, receiver=nil)
  @receiver = receiver
  @test_cases = []
  @seed = seed
end

def shuffled_test_cases

def shuffled_test_cases
  @test_cases.shuffle(random: Random.new(seed))
end

def test_case(test_case)

def test_case(test_case)
  @test_cases << test_case
  self
end

def with_receiver(receiver)

def with_receiver(receiver)
  self.class.new(@seed, receiver)
end