duck-hunt 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/README.md +526 -0
- data/Rakefile +15 -0
- data/lib/duck-hunt.rb +17 -0
- data/lib/duck-hunt/hash_helpers.rb +28 -0
- data/lib/duck-hunt/properties.rb +13 -0
- data/lib/duck-hunt/properties/array.rb +81 -0
- data/lib/duck-hunt/properties/boolean.rb +10 -0
- data/lib/duck-hunt/properties/float.rb +10 -0
- data/lib/duck-hunt/properties/integer.rb +9 -0
- data/lib/duck-hunt/properties/nested_hash.rb +61 -0
- data/lib/duck-hunt/properties/nil.rb +15 -0
- data/lib/duck-hunt/properties/property.rb +85 -0
- data/lib/duck-hunt/properties/string.rb +10 -0
- data/lib/duck-hunt/properties/validator_lookup.rb +27 -0
- data/lib/duck-hunt/schemas.rb +8 -0
- data/lib/duck-hunt/schemas/array_schema.rb +254 -0
- data/lib/duck-hunt/schemas/hash_schema.rb +135 -0
- data/lib/duck-hunt/schemas/property_lookup.rb +32 -0
- data/lib/duck-hunt/schemas/schema_definition.rb +25 -0
- data/lib/duck-hunt/string_helpers.rb +25 -0
- data/lib/duck-hunt/validators.rb +16 -0
- data/lib/duck-hunt/validators/accepted_values.rb +19 -0
- data/lib/duck-hunt/validators/divisible_by.rb +19 -0
- data/lib/duck-hunt/validators/equal_to.rb +19 -0
- data/lib/duck-hunt/validators/greater_than.rb +19 -0
- data/lib/duck-hunt/validators/greater_than_or_equal_to.rb +19 -0
- data/lib/duck-hunt/validators/less_than.rb +19 -0
- data/lib/duck-hunt/validators/less_than_or_equal_to.rb +19 -0
- data/lib/duck-hunt/validators/matches.rb +18 -0
- data/lib/duck-hunt/validators/not_divisible_by.rb +19 -0
- data/lib/duck-hunt/validators/not_equal_to.rb +19 -0
- data/lib/duck-hunt/validators/rejected_values.rb +19 -0
- data/lib/duck-hunt/validators/validator.rb +16 -0
- data/lib/duck-hunt/version.rb +3 -0
- data/test/properties/array_test.rb +837 -0
- data/test/properties/boolean_test.rb +37 -0
- data/test/properties/float_test.rb +49 -0
- data/test/properties/integer_test.rb +48 -0
- data/test/properties/nested_hash_test.rb +465 -0
- data/test/properties/nil_test.rb +30 -0
- data/test/properties/property_test.rb +193 -0
- data/test/properties/string_test.rb +24 -0
- data/test/properties/validator_lookup_test.rb +25 -0
- data/test/schemas/array_schema_test.rb +797 -0
- data/test/schemas/hash_schema_test.rb +264 -0
- data/test/schemas/property_lookup_test.rb +41 -0
- data/test/schemas/schema_definition_test.rb +51 -0
- data/test/test_helper.rb +29 -0
- data/test/test_helper/test_classes.rb +74 -0
- data/test/validators/accepted_values_test.rb +46 -0
- data/test/validators/divisible_by_test.rb +38 -0
- data/test/validators/equal_to_test.rb +38 -0
- data/test/validators/greater_than_or_equal_to_test.rb +39 -0
- data/test/validators/greater_than_test.rb +39 -0
- data/test/validators/less_than_or_equal_to_test.rb +40 -0
- data/test/validators/less_than_test.rb +39 -0
- data/test/validators/matches_test.rb +43 -0
- data/test/validators/not_divisible_by_test.rb +38 -0
- data/test/validators/not_equal_to_test.rb +38 -0
- data/test/validators/rejected_values_test.rb +46 -0
- data/test/validators/validator_test.rb +23 -0
- metadata +196 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::AcceptedValues, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::AcceptedValues.new([1,2,3])
|
6
|
+
validator.values.must_equal [1,2,3]
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::AcceptedValues.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should raise an exception if the value provided is not a hash" do
|
16
|
+
lambda{
|
17
|
+
DuckHunt::Validators::AcceptedValues.new(3)
|
18
|
+
}.must_raise ArgumentError
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe DuckHunt::Validators::AcceptedValues, "Validation" do
|
23
|
+
before do
|
24
|
+
@validator = DuckHunt::Validators::AcceptedValues.new([1,2,3])
|
25
|
+
end
|
26
|
+
|
27
|
+
it "returns true if the value provided is one of the accepted values" do
|
28
|
+
@validator.valid?(1).must_equal true
|
29
|
+
@validator.valid?(2).must_equal true
|
30
|
+
@validator.valid?(3).must_equal true
|
31
|
+
end
|
32
|
+
|
33
|
+
it "returns false if the value provided is not one of the accepted values" do
|
34
|
+
@validator.valid?(4).must_equal false
|
35
|
+
@validator.valid?(0).must_equal false
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
describe DuckHunt::Validators::AcceptedValues, "error message" do
|
42
|
+
it "should have the correct error message based on the value provided" do
|
43
|
+
validator = DuckHunt::Validators::AcceptedValues.new([1,2,3])
|
44
|
+
validator.error_message.must_equal "not an accepted value"
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::DivisibleBy, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::DivisibleBy.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::DivisibleBy.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::DivisibleBy, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::DivisibleBy.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is divisible by the value provided" do
|
22
|
+
@validator.valid?(3).must_equal true
|
23
|
+
@validator.valid?(9).must_equal true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns false if the value provided is not divisible by to the value given" do
|
27
|
+
@validator.valid?(5).must_equal false
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
describe DuckHunt::Validators::DivisibleBy, "error message" do
|
34
|
+
it "should have the correct error message based on the value provided" do
|
35
|
+
validator = DuckHunt::Validators::DivisibleBy.new(3)
|
36
|
+
validator.error_message.must_equal "not divisible by `3`"
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::EqualTo, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::EqualTo.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::EqualTo.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::EqualTo, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::EqualTo.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is equal to the value given" do
|
22
|
+
@validator.valid?(3).must_equal true
|
23
|
+
end
|
24
|
+
|
25
|
+
it "returns false if the value provided is not equal to the value provided" do
|
26
|
+
@validator.valid?(4).must_equal false
|
27
|
+
@validator.valid?(0).must_equal false
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
describe DuckHunt::Validators::EqualTo, "error message" do
|
34
|
+
it "should have the correct error message based on the value provided" do
|
35
|
+
validator = DuckHunt::Validators::EqualTo.new(3)
|
36
|
+
validator.error_message.must_equal "not equal to `3`"
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::GreaterThanOrEqualTo, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::GreaterThanOrEqualTo.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::GreaterThanOrEqualTo.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::GreaterThanOrEqualTo, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::GreaterThanOrEqualTo.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is greater than or equal to the value given" do
|
22
|
+
@validator.valid?(4).must_equal true
|
23
|
+
@validator.valid?(41).must_equal true
|
24
|
+
@validator.valid?(3).must_equal true
|
25
|
+
end
|
26
|
+
|
27
|
+
it "returns false if the value provided is less than the value given" do
|
28
|
+
@validator.valid?(0).must_equal false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
describe DuckHunt::Validators::GreaterThanOrEqualTo, "error message" do
|
35
|
+
it "should have the correct error message based on the value provided" do
|
36
|
+
validator = DuckHunt::Validators::GreaterThanOrEqualTo.new(3)
|
37
|
+
validator.error_message.must_equal "less than `3`"
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::GreaterThan, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::GreaterThan.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::GreaterThan.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::GreaterThan, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::GreaterThan.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is greater than the value given" do
|
22
|
+
@validator.valid?(4).must_equal true
|
23
|
+
@validator.valid?(41).must_equal true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns false if the value provided is less than the value provided" do
|
27
|
+
@validator.valid?(3).must_equal false
|
28
|
+
@validator.valid?(0).must_equal false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
describe DuckHunt::Validators::GreaterThan, "error message" do
|
35
|
+
it "should have the correct error message based on the value provided" do
|
36
|
+
validator = DuckHunt::Validators::GreaterThan.new(3)
|
37
|
+
validator.error_message.must_equal "less than `3`"
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::LessThanOrEqualTo, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::LessThanOrEqualTo.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::LessThanOrEqualTo.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::LessThanOrEqualTo, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::LessThanOrEqualTo.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is less than or equal to the value given" do
|
22
|
+
@validator.valid?(3).must_equal true
|
23
|
+
@validator.valid?(2).must_equal true
|
24
|
+
@validator.valid?(0).must_equal true
|
25
|
+
end
|
26
|
+
|
27
|
+
it "returns false if the value provided is greater than the value provided" do
|
28
|
+
@validator.valid?(4).must_equal false
|
29
|
+
@validator.valid?(5).must_equal false
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
describe DuckHunt::Validators::LessThanOrEqualTo, "error message" do
|
36
|
+
it "should have the correct error message based on the value provided" do
|
37
|
+
validator = DuckHunt::Validators::LessThanOrEqualTo.new(3)
|
38
|
+
validator.error_message.must_equal "greater than `3`"
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::LessThan, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::LessThan.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::LessThan.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::LessThan, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::LessThan.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is less than the value given" do
|
22
|
+
@validator.valid?(2).must_equal true
|
23
|
+
@validator.valid?(0).must_equal true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns false if the value provided is greater than the value provided" do
|
27
|
+
@validator.valid?(3).must_equal false
|
28
|
+
@validator.valid?(5).must_equal false
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
describe DuckHunt::Validators::LessThan, "error message" do
|
35
|
+
it "should have the correct error message based on the value provided" do
|
36
|
+
validator = DuckHunt::Validators::LessThan.new(3)
|
37
|
+
validator.error_message.must_equal "greater than `3`"
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::Matches, "initialization" do
|
4
|
+
it "should create an instance with the provided regex" do
|
5
|
+
validator = DuckHunt::Validators::Matches.new(/\d{1,2}/)
|
6
|
+
validator.regex.must_equal /\d{1,2}/
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a Regex is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::Matches.new
|
12
|
+
}.must_raise TypeError
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should accept a string as a valid Regexp" do
|
16
|
+
validator = DuckHunt::Validators::Matches.new('\d{1,2}')
|
17
|
+
validator.regex.must_equal /\d{1,2}/
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe DuckHunt::Validators::Matches, "Validation" do
|
22
|
+
before do
|
23
|
+
@validator = DuckHunt::Validators::Matches.new(/\d{1,2}/)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns true if the value provided matches the regexp" do
|
27
|
+
@validator.valid?("1").must_equal true
|
28
|
+
@validator.valid?("12").must_equal true
|
29
|
+
end
|
30
|
+
|
31
|
+
it "returns false if the value provided does not match the regexp" do
|
32
|
+
@validator.valid?("hello").must_equal false
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
describe DuckHunt::Validators::Matches, "error message" do
|
39
|
+
it "should have the correct error message" do
|
40
|
+
validator = DuckHunt::Validators::Matches.new(/\d{1,2}/)
|
41
|
+
validator.error_message.must_equal "No matches for Regexp"
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::NotDivisibleBy, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::NotDivisibleBy.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::NotDivisibleBy.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::NotDivisibleBy, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::NotDivisibleBy.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is not divisible by the value provided" do
|
22
|
+
@validator.valid?(5).must_equal true
|
23
|
+
end
|
24
|
+
|
25
|
+
it "returns false if the value provided is divisible by to the value given" do
|
26
|
+
@validator.valid?(3).must_equal false
|
27
|
+
@validator.valid?(9).must_equal false
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
describe DuckHunt::Validators::NotDivisibleBy, "error message" do
|
34
|
+
it "should have the correct error message based on the value provided" do
|
35
|
+
validator = DuckHunt::Validators::NotDivisibleBy.new(3)
|
36
|
+
validator.error_message.must_equal "divisible by `3`"
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::NotEqualTo, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::NotEqualTo.new(3)
|
6
|
+
validator.value.must_equal 3
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::NotEqualTo.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe DuckHunt::Validators::NotEqualTo, "Validation" do
|
17
|
+
before do
|
18
|
+
@validator = DuckHunt::Validators::NotEqualTo.new(3)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "returns true if the value provided is not equal to the value provided" do
|
22
|
+
@validator.valid?(4).must_equal true
|
23
|
+
@validator.valid?(0).must_equal true
|
24
|
+
end
|
25
|
+
|
26
|
+
it "returns false if the value provided is equal to the value given" do
|
27
|
+
@validator.valid?(3).must_equal false
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
describe DuckHunt::Validators::NotEqualTo, "error message" do
|
34
|
+
it "should have the correct error message based on the value provided" do
|
35
|
+
validator = DuckHunt::Validators::NotEqualTo.new(3)
|
36
|
+
validator.error_message.must_equal "equal to `3`"
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require File.expand_path('../../test_helper', __FILE__)
|
2
|
+
|
3
|
+
describe DuckHunt::Validators::RejectedValues, "initialization" do
|
4
|
+
it "should create an instance with the provided value" do
|
5
|
+
validator = DuckHunt::Validators::RejectedValues.new([1,2,3])
|
6
|
+
validator.values.must_equal [1,2,3]
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should raise an exception if a value is not provided" do
|
10
|
+
lambda{
|
11
|
+
DuckHunt::Validators::RejectedValues.new
|
12
|
+
}.must_raise ArgumentError
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should raise an exception if the value provided is not a hash" do
|
16
|
+
lambda{
|
17
|
+
DuckHunt::Validators::RejectedValues.new(3)
|
18
|
+
}.must_raise ArgumentError
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe DuckHunt::Validators::RejectedValues, "Validation" do
|
23
|
+
before do
|
24
|
+
@validator = DuckHunt::Validators::RejectedValues.new([1,2,3])
|
25
|
+
end
|
26
|
+
|
27
|
+
it "returns true if the value provided is not one of the rejected values" do
|
28
|
+
@validator.valid?(4).must_equal true
|
29
|
+
@validator.valid?(0).must_equal true
|
30
|
+
end
|
31
|
+
|
32
|
+
it "returns false if the value provided is one of the rejected values" do
|
33
|
+
@validator.valid?(1).must_equal false
|
34
|
+
@validator.valid?(2).must_equal false
|
35
|
+
@validator.valid?(3).must_equal false
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
describe DuckHunt::Validators::RejectedValues, "error message" do
|
42
|
+
it "should have the correct error message based on the value provided" do
|
43
|
+
validator = DuckHunt::Validators::RejectedValues.new([1,2,3])
|
44
|
+
validator.error_message.must_equal "a rejected value"
|
45
|
+
end
|
46
|
+
end
|