Class: Test::Unit::DataSets
- Inherits:
-
Object
- Object
- Test::Unit::DataSets
- Defined in:
- lib/test/unit/data-sets.rb
Instance Method Summary collapse
-
#<<(data_set) ⇒ Object
-
#==(other) ⇒ Object
-
#add(data_set, options = nil) ⇒ Object
-
#each ⇒ Object
-
#eql?(other) ⇒ Boolean
-
#hash ⇒ Object
-
#have_keep? ⇒ Boolean
-
#initialize ⇒ DataSets
constructor
A new instance of DataSets.
-
#keep ⇒ Object
Constructor Details
#initialize ⇒ DataSets
Returns a new instance of DataSets.
4 5 6 7 8 |
# File 'lib/test/unit/data-sets.rb', line 4 def initialize @variables = [] @procs = [] @value_sets = [] end |
Instance Method Details
#<<(data_set) ⇒ Object
21 22 23 |
# File 'lib/test/unit/data-sets.rb', line 21 def <<(data_set) add(data_set) end |
#==(other) ⇒ Object
67 68 69 70 71 |
# File '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 |
#add(data_set, options = nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/test/unit/data-sets.rb', line 10 def add(data_set, =nil) ||= {} if data_set.respond_to?(:call) @procs << [data_set, ] elsif data_set.is_a?(Array) @variables << [data_set, ] else @value_sets << [data_set, ] end end |
#each ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/test/unit/data-sets.rb', line 43 def each variables = @variables value_sets = @value_sets @procs.each do |proc, | data_set = proc.call case data_set when Array variables += [[data_set, ]] else value_sets += [[data_set, ]] end end value_sets.each do |values, | values.each do |label, data| yield(label, data) end end each_pattern(variables) do |label, data| yield(label, data) end end |
#eql?(other) ⇒ Boolean
73 74 75 |
# File 'lib/test/unit/data-sets.rb', line 73 def eql?(other) self == other end |
#hash ⇒ Object
77 78 79 |
# File 'lib/test/unit/data-sets.rb', line 77 def hash [@variables, @procs, @value_sets].hash end |
#have_keep? ⇒ Boolean
25 26 27 28 29 30 |
# File 'lib/test/unit/data-sets.rb', line 25 def have_keep? each_data_set do |_, | return true if [:keep] end false end |
#keep ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File '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, )| yielder << [data_set, ] end @procs.each(&block) @variables.each(&block) @value_sets.each(&block) end all_data_sets.each do |data_set, | next if .nil? next unless [:keep] new_data_sets.add(data_set, ) end new_data_sets end |