Class: JSON::Fuzz::Generator::Keyword::MultipleOf

Inherits:
Object
  • Object
show all
Defined in:
lib/json/fuzz/generator/keyword/multiple_of.rb

Class Method Summary collapse

Class Method Details

.invalid_params(attributes) ⇒ Object



7
8
9
10
11
12
# File 'lib/json/fuzz/generator/keyword/multiple_of.rb', line 7

def invalid_params(attributes)
  multiple_of = attributes["multipleOf"]
  raise "No multipleOf keyword given: #{attributes}" unless multiple_of

  [multiple_of * 0.9]
end

.valid_param(attributes) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/json/fuzz/generator/keyword/multiple_of.rb', line 14

def valid_param(attributes)
  multiple_of = attributes["multipleOf"]
  raise "No multipleOf keyword given: #{attributes}" unless multiple_of

  string_num = multiple_of.to_s
  demicals   = string_num.split(".").length == 2 ? string_num.split(".")[-1].length : 0

  multiple_num = ("%.#{demicals}f" % (multiple_of * Random.rand(1..10)))
  multiple_of.instance_of?(Float) ? multiple_num.to_f : multiple_num.to_i
end