module Test::Unit::Data::ClassMethods
def data(*arguments, &block)
- Example: data(&block) -
Example: data(&block) -
Example: data(data_set) -
Example: data(variable, patterns) -
Example: data(label, data) -
Other tags:
- Yieldreturn: - return test data set
Yieldreturn: - return test data set
Options Hash:
(**options)
-
:keep
(Boolean
) -- whether or not to use -
:keep
(Boolean
) -- whether or not to use -
:keep
(Boolean
) -- whether or not to use -
:group
(Object
) -- the test pattern group. -
:keep
(Boolean
) -- whether or not to use -
:keep
(Boolean
) -- whether or not to use
Parameters:
-
options
(Hash
) -- specify options. -
options
(Hash
) -- specify options. -
options
(Hash
) -- specify options. -
data_set
(Hash
) -- specify test data as a Hash that -
options
(Hash
) -- specify options. -
patterns
(Array
) -- specify test patterns for the variable. -
variable
(Symbol
) -- specify test pattern variable name. -
options
(Hash
) -- specify options. -
data
() -- specify test data.
-
label
(String
) -- specify test case name.
Overloads:
-
data(options={}, &block)
-
data(options={}, &block)
-
data(data_set, options={})
-
data(variable, patterns, options={})
-
data(label, data, options={})
def data(*arguments, &block) options = nil n_arguments = arguments.size case n_arguments when 0 raise ArgumentError, "no block is given" unless block_given? data_set = block when 1 if block_given? data_set = block options = arguments[0] else data_set = arguments[0] end when 2 case arguments[0] when String data_set = {arguments[0] => arguments[1]} when Hash data_set = arguments[0] options = arguments[1] else variable = arguments[0] patterns = arguments[1] data_set = [variable, patterns] end when 3 case arguments[0] when String data_set = {arguments[0] => arguments[1]} options = arguments[2] else variable = arguments[0] patterns = arguments[1] data_set = [variable, patterns] options = arguments[2] end else message = "wrong number arguments(#{n_arguments} for 0..3)" raise ArgumentError, message end options ||= {} data_sets = current_attribute(:data)[:value] || DataSets.new data_sets.add(data_set, options) if options[:keep] or data_sets.have_keep? keep_hook = lambda do |attr| attr.merge(value: attr[:value].keep) end options = options.merge(keep: true, keep_hook: keep_hook) end attribute(:data, data_sets, options) end
def load_data(file_name)
- Example: Load data from CSV file -
Other tags:
- See: Loader#load -
Raises:
-
(ArgumentError)
- if `file_name` is not supported file format.
Parameters:
-
file_name
(String
) -- full path to test data file.
def load_data(file_name) loader = Loader.new(self) loader.load(file_name) end