module Minitest::Data::Test::ClassMethods

Public Instance Methods

data(*arguments, &block) click to toggle source
# File lib/minitest/data.rb, line 17
def data(*arguments, &block)
  case arguments.size
  when 0
    raise ArgumentError, "no block is given" unless block_given?
    data_set = block.call
  when 1
    data_set = arguments[0]
  when 2
    data_set = { arguments[0] => arguments[1] }
  else
    message = "wrong number arguments(#{arguments.size} for 1..2)"
    raise ArgumentError, message
  end

  @@data.merge!(data_set)
end
data_exist?(method_name) click to toggle source
# File lib/minitest/data.rb, line 45
def data_exist?(method_name)
  @@data_set.key?(method_name)
end
data_set() click to toggle source
# File lib/minitest/data.rb, line 41
def data_set
  @@data_set
end
method_added(name) click to toggle source
# File lib/minitest/data.rb, line 34
def method_added(name)
  unless @@data.empty?
    @@data_set[name] = @@data
    @@data = {}
  end
end
run_one_method(klass, method_name, reporter) click to toggle source
Calls superclass method
# File lib/minitest/data.rb, line 49
def run_one_method(klass, method_name, reporter)
  if klass.data_exist?(method_name.to_sym)
    reporter.prerecord(klass, method_name)

    data = klass.data_set[method_name.to_sym]
    data.each do |label, value|
      reporter.record Minitest.run_one_method(klass, method_name, label, value)
    end
  else
    super
  end
end