Sha256: f66e5a33e8bf571de5de58e3288916fa149d67f03aca33867802425a5496a03c
Contents?: true
Size: 847 Bytes
Versions: 562
Compression:
Stored size: 847 Bytes
Contents
class StepsBuilder def initialize @steps = [] end def step(content, generator) @steps << " Given #{content}" if(rand(5) == 0) cols = rand(8) + 1 rows = rand(10) rows.times do row = " |" cols.times do row << generator.table_cell << "|" end @steps << row end end end def to_s @steps.join("\n") end end class FeatureBuilder def initialize(name, &block) @name = name @scenarios = {} block.call(self) end def scenario(name, &block) @scenarios[name] = StepsBuilder.new block.call(@scenarios[name]) end def to_s str = "Feature: #{@name}\n" @scenarios.each do |scenario, steps| str += "\n" str += " Scenario: #{scenario}\n" str += steps.to_s str += "\n" end str end end
Version data entries
562 entries across 555 versions & 11 rubygems