class Jfuzz::NumberGenerator
Public Class Methods
type()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 12 def self.type "number" end
Public Instance Methods
generate()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 8 def generate random_number end
Private Instance Methods
exclusive_maximum?()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 59 def exclusive_maximum? property.fetch("exclusiveMaximum", false) end
exclusive_minimum?()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 63 def exclusive_minimum? property.fetch("exclusiveMinimum", false) end
generate_multiple(min, max)
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 29 def generate_multiple(min, max) factor = property.fetch("multipleOf").to_f min /= factor max /= factor rand(min..max).to_i * factor end
maximum()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 42 def maximum return property.fetch("maximum").to_f if maximum? Jfuzz.max_integer.to_f end
maximum?()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 55 def maximum? property.key?("maximum") end
minimum()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 37 def minimum return property.fetch("minimum").to_f if minimum? Jfuzz.min_integer.to_f end
minimum?()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 51 def minimum? property.key?("minimum") end
multiple_of?()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 47 def multiple_of? property.key?("multipleOf") end
random_number()
click to toggle source
# File lib/jfuzz/generators/number_generator.rb, line 18 def random_number min = minimum max = maximum min + 0.1 if exclusive_minimum? max - 0.1 if exclusive_maximum? return generate_multiple(min, max) if multiple_of? rand(min..max) end