Class: FuzzBert::Executor::DataProducer

Inherits:
Object
  • Object
show all
Defined in:
lib/fuzzbert/executor.rb

Defined Under Namespace

Classes: ProcessSafeEnumerator, Ring

Instance Method Summary collapse

Constructor Details

#initialize(suites) ⇒ DataProducer

Returns a new instance of DataProducer.



113
114
115
116
# File 'lib/fuzzbert/executor.rb', line 113

def initialize(suites)
  @ring = Ring.new(suites)
  update
end

Instance Method Details

#nextObject



123
124
125
126
127
128
129
130
131
132
133
# File 'lib/fuzzbert/executor.rb', line 123

def next
  gen = nil
  until gen
    begin
      gen = @gen_iter.next
    rescue StopIteration
      update
    end
  end
  [@suite.description, @suite.test, gen]
end

#updateObject



118
119
120
121
# File 'lib/fuzzbert/executor.rb', line 118

def update
  @suite = @ring.next
  @gen_iter = ProcessSafeEnumerator.new(@suite.generators)
end