Sha256: 6c1cccf686ebb1f5591bd112eaeb9c449fac5c3b6a253694c82e8acae67c24f2

Contents?: true

Size: 1.75 KB

Versions: 8

Compression:

Stored size: 1.75 KB

Contents

require 'test_helper'

module Schemacop
  class ValidatorNumberTest < Minitest::Test
    def test_basic
      s = Schema.new do
        type :number
      end
      assert_nothing_raised { s.validate!(-3) }
      assert_nothing_raised { s.validate!(-3.123) }
      assert_nothing_raised { s.validate!(0) }
      assert_nothing_raised { s.validate!(15) }
      assert_nothing_raised { s.validate!(15.13) }
      assert_verr { s.validate!('0.12') }
    end

    def test_option_min
      s = Schema.new do
        type :number, min: -2
      end

      assert_nothing_raised { s.validate!(-2) }
      assert_nothing_raised { s.validate!(-1.99999) }
      assert_nothing_raised { s.validate!(0) }
      assert_nothing_raised { s.validate!(1.2) }
      assert_verr { s.validate!(-3) }
      assert_verr { s.validate!(-2.00001) }
    end

    def test_option_max
      s = Schema.new do
        type :number, max: 5.2
      end

      assert_nothing_raised { s.validate!(-2) }
      assert_nothing_raised { s.validate!(-1.9) }
      assert_nothing_raised { s.validate!(0) }
      assert_nothing_raised { s.validate!(5.19999) }
      assert_nothing_raised { s.validate!(5.2) }
      assert_verr { s.validate!(5.200001) }
      assert_verr { s.validate!(6) }
    end

    def test_options_min_max
      s = Schema.new do
        type :number, min: -2, max: 5.2
      end

      assert_nothing_raised { s.validate!(-2) }
      assert_nothing_raised { s.validate!(-1.99999) }
      assert_nothing_raised { s.validate!(0) }
      assert_nothing_raised { s.validate!(1.2) }
      assert_nothing_raised { s.validate!(5.2) }
      assert_verr { s.validate!(-3) }
      assert_verr { s.validate!(-2.00001) }
      assert_verr { s.validate!(5.200001) }
      assert_verr { s.validate!(6) }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
schemacop-2.4.7 test/validator_number_test.rb
schemacop-2.4.6 test/validator_number_test.rb
schemacop-2.4.5 test/validator_number_test.rb
schemacop-2.4.4 test/validator_number_test.rb
schemacop-2.4.3 test/validator_number_test.rb
schemacop-2.4.2 test/validator_number_test.rb
schemacop-2.4.1 test/validator_number_test.rb
schemacop-2.4.0 test/validator_number_test.rb