Module: Minitest::Data::Test::ClassMethods
- Defined in:
- lib/minitest/data.rb
Constant Summary collapse
- @@data =
{}
- @@data_set =
{}
Instance Method Summary collapse
- #data(*arguments, &block) ⇒ Object
- #data_exist?(method_name) ⇒ Boolean
- #data_set ⇒ Object
- #method_added(name) ⇒ Object
- #run_one_method(klass, method_name, reporter) ⇒ Object
Instance Method Details
#data(*arguments, &block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# 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 = "wrong number arguments(#{arguments.size} for 1..2)" raise ArgumentError, end @@data.merge!(data_set) end |
#data_exist?(method_name) ⇒ Boolean
45 46 47 |
# File 'lib/minitest/data.rb', line 45 def data_exist?(method_name) @@data_set.key?(method_name) end |
#data_set ⇒ Object
41 42 43 |
# File 'lib/minitest/data.rb', line 41 def data_set @@data_set end |
#method_added(name) ⇒ Object
34 35 36 37 38 39 |
# 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) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 |
# 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 |