Sha256: 0891c5566102cd0874fd8608865bbdd15151743ce3413ee143fb0d1ad015bd7f

Contents?: true

Size: 852 Bytes

Versions: 1

Compression:

Stored size: 852 Bytes

Contents

module JSONSchemer
  module Fuzz
    class Keyword
      class MultipleOf
        class << self
          def invalid_params(attributes)
            multiple_of = attributes["multipleOf"]
            raise "No multipleOf keyword given: #{attributes}" unless multiple_of

            [multiple_of * 0.9]
          end

          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
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
json_schemer-fuzz-1.0.0 lib/json_schemer/fuzz/keyword/multiple_of.rb