class Jfuzz::ArrayGenerator
Public Class Methods
type()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 14 def self.type "array" end
Public Instance Methods
generate()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 7 def generate raise "Cannot generate an empty array. Please specify item types" unless items.any? return tuple_array if items.is_a?(Array) random_array end
Private Instance Methods
items()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 33 def items property.fetch("items", []) end
max_items()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 41 def max_items property.fetch("maxItems", Jfuzz.max_array_length) end
min_items()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 37 def min_items property.fetch("minItems", Jfuzz.min_array_length) end
random_array()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 20 def random_array total_items = rand(min_items..max_items) (0..total_items).map do property_fuzzer.fuzz_property(items) end end
tuple_array()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 27 def tuple_array items.map do |item| property_fuzzer.fuzz_property(item) end end
unique?()
click to toggle source
# File lib/jfuzz/generators/array_generator.rb, line 45 def unique? property.fetch("uniqueItems", false) end