class TestCaseGenerator::Utils
Public Class Methods
concat(*args)
click to toggle source
# File lib/test_case_generator/utils.rb, line 9 def self.concat(*args) out_items = [] args.each do |arg| self.concat! out_items, arg end out_items end
concat!(out_items, other_list)
click to toggle source
# File lib/test_case_generator/utils.rb, line 19 def self.concat!(out_items, other_list) if out_items.size == 0 out_items.concat other_list else return out_items if other_list.empty? tmp_list = [] out_items.each do |item1| other_list.each do |item2| tmp_list << item1 + item2 end end out_items.clear out_items.concat tmp_list end out_items end
make_method_name(label)
click to toggle source
# File lib/test_case_generator/utils.rb, line 3 def self.make_method_name(label) label.to_s.split('_').inject([]) do |buffer, e| buffer << (buffer.empty? ? e : e.capitalize) end.join end
para(*args)
click to toggle source
# File lib/test_case_generator/utils.rb, line 39 def self.para(*args) out_items = [] args.each do |arg| self.para! out_items, arg end out_items end
para!(out_items, other_list)
click to toggle source
# File lib/test_case_generator/utils.rb, line 49 def self.para!(out_items, other_list) if out_items.size == 0 out_items.concat other_list else return out_items if other_list.empty? tmp_list = [] out_items.each do |item1| other_list.each do |item2| (0...(item1.size + item2.size)).to_a.combination(item1.size) do |index_arr| idx_item1 = 0 idx_item2 = 0 tmp_list << (0...(item1.size + item2.size)).to_a.map do |x| if index_arr.include?(x) picked = item1[idx_item1] idx_item1 += 1 else picked = item2[idx_item2] idx_item2 += 1 end picked end end end end out_items.clear out_items.concat tmp_list end out_items end