# File test-unit-3.3.7/lib/test/unit/data-sets.rb, line 21 def <<(data_set) add(data_set) end
# File test-unit-3.3.7/lib/test/unit/data-sets.rb, line 67 def ==(other) @variables == other.instance_variable_get(:@variables) and @procs == other.instance_variable_get(:@procs) and @value_sets == other.instance_variable_get(:@value_sets) end
# File test-unit-3.3.7/lib/test/unit/data-sets.rb, line 10 def add(data_set, options=nil) options ||= {} if data_set.respond_to?(:call) @procs << [data_set, options] elsif data_set.is_a?(Array) @variables << [data_set, options] else @value_sets << [data_set, options] end end
# File test-unit-3.3.7/lib/test/unit/data-sets.rb, line 43 def each variables = @variables value_sets = @value_sets @procs.each do |proc, options| data_set = proc.call case data_set when Array variables += [[data_set, options]] else value_sets += [[data_set, options]] end end value_sets.each do |values, _options| values.each do |label, data| yield(label, data) end end each_pattern(variables) do |label, data| yield(label, data) end end
# File test-unit-3.3.7/lib/test/unit/data-sets.rb, line 73 def eql?(other) self == other end
# File test-unit-3.3.7/lib/test/unit/data-sets.rb, line 77 def hash [@variables, @procs, @value_sets].hash end
# File test-unit-3.3.7/lib/test/unit/data-sets.rb, line 25 def keep new_data_sets = self.class.new all_data_sets = Enumerator.new do |yielder| block = lambda do |(data_set, options)| yielder << [data_set, options] end @procs.each(&block) @variables.each(&block) @value_sets.each(&block) end all_data_sets.each do |data_set, options| next if options.nil? next unless options[:keep] new_data_sets.add(data_set, options) end new_data_sets end