@@ -5,9 +5,9 @@ defmodule Vx.NumberTest do
5
5
6
6
describe "t/0" do
7
7
test "match" do
8
- assert :ok = Vx . validate ( Vx.Number . t ( ) , 123 )
9
- assert :ok = Vx . validate ( Vx.Number . t ( ) , 123.0 )
10
- assert :ok = Vx . validate ( Vx.Number . t ( ) , 123.4 )
8
+ assert :ok = Vx . validate! ( Vx.Number . t ( ) , 123 )
9
+ assert :ok = Vx . validate! ( Vx.Number . t ( ) , 123.0 )
10
+ assert :ok = Vx . validate! ( Vx.Number . t ( ) , 123.4 )
11
11
end
12
12
13
13
test "no match" do
@@ -20,7 +20,7 @@ defmodule Vx.NumberTest do
20
20
21
21
describe "lt/1" do
22
22
test "match" do
23
- assert :ok = Vx . validate ( Vx.Number . lt ( 100 ) , 99 )
23
+ assert :ok = Vx . validate! ( Vx.Number . lt ( 100 ) , 99 )
24
24
end
25
25
26
26
test "no match" do
@@ -33,8 +33,8 @@ defmodule Vx.NumberTest do
33
33
34
34
describe "lteq/1" do
35
35
test "match" do
36
- assert :ok = Vx . validate ( Vx.Number . lteq ( 100 ) , 100 )
37
- assert :ok = Vx . validate ( Vx.Number . lteq ( 100 ) , 99 )
36
+ assert :ok = Vx . validate! ( Vx.Number . lteq ( 100 ) , 100 )
37
+ assert :ok = Vx . validate! ( Vx.Number . lteq ( 100 ) , 99 )
38
38
end
39
39
40
40
test "no match" do
@@ -45,7 +45,7 @@ defmodule Vx.NumberTest do
45
45
46
46
describe "gt/1" do
47
47
test "match" do
48
- assert :ok = Vx . validate ( Vx.Number . gt ( 100 ) , 101 )
48
+ assert :ok = Vx . validate! ( Vx.Number . gt ( 100 ) , 101 )
49
49
end
50
50
51
51
test "no match" do
@@ -58,8 +58,8 @@ defmodule Vx.NumberTest do
58
58
59
59
describe "gteq/1" do
60
60
test "match" do
61
- assert :ok = Vx . validate ( Vx.Number . gteq ( 100 ) , 100 )
62
- assert :ok = Vx . validate ( Vx.Number . gteq ( 100 ) , 101 )
61
+ assert :ok = Vx . validate! ( Vx.Number . gteq ( 100 ) , 100 )
62
+ assert :ok = Vx . validate! ( Vx.Number . gteq ( 100 ) , 101 )
63
63
end
64
64
65
65
test "no match" do
@@ -70,10 +70,10 @@ defmodule Vx.NumberTest do
70
70
71
71
describe "range/1" do
72
72
test "match" do
73
- assert :ok = Vx . validate ( Vx.Number . range ( 1 .. 10 ) , 1 )
74
- assert :ok = Vx . validate ( Vx.Number . range ( 1 .. 10 ) , 5 )
75
- assert :ok = Vx . validate ( Vx.Number . range ( 1 .. 10 ) , 10 )
76
- assert :ok = Vx . validate ( Vx.Number . range ( 1 .. 10 // 2 ) , 3 )
73
+ assert :ok = Vx . validate! ( Vx.Number . range ( 1 .. 10 ) , 1 )
74
+ assert :ok = Vx . validate! ( Vx.Number . range ( 1 .. 10 ) , 5 )
75
+ assert :ok = Vx . validate! ( Vx.Number . range ( 1 .. 10 ) , 10 )
76
+ assert :ok = Vx . validate! ( Vx.Number . range ( 1 .. 10 // 2 ) , 3 )
77
77
end
78
78
79
79
test "no match" do
@@ -88,13 +88,13 @@ defmodule Vx.NumberTest do
88
88
89
89
describe "between/2" do
90
90
test "match" do
91
- assert :ok = Vx . validate ( Vx.Number . between ( 1 , 10 ) , 1 )
92
- assert :ok = Vx . validate ( Vx.Number . between ( 1 , 10 ) , 5 )
93
- assert :ok = Vx . validate ( Vx.Number . between ( 1 , 10 ) , 10 )
94
- assert :ok = Vx . validate ( Vx.Number . between ( 10 , 1 ) , 1 )
95
- assert :ok = Vx . validate ( Vx.Number . between ( 10 , 1 ) , 5 )
96
- assert :ok = Vx . validate ( Vx.Number . between ( 10 , 1 ) , 10 )
97
- assert :ok = Vx . validate ( Vx.Number . between ( 3 , 3 ) , 3 )
91
+ assert :ok = Vx . validate! ( Vx.Number . between ( 1 , 10 ) , 1 )
92
+ assert :ok = Vx . validate! ( Vx.Number . between ( 1 , 10 ) , 5 )
93
+ assert :ok = Vx . validate! ( Vx.Number . between ( 1 , 10 ) , 10 )
94
+ assert :ok = Vx . validate! ( Vx.Number . between ( 10 , 1 ) , 1 )
95
+ assert :ok = Vx . validate! ( Vx.Number . between ( 10 , 1 ) , 5 )
96
+ assert :ok = Vx . validate! ( Vx.Number . between ( 10 , 1 ) , 10 )
97
+ assert :ok = Vx . validate! ( Vx.Number . between ( 3 , 3 ) , 3 )
98
98
end
99
99
100
100
test "no match" do
@@ -112,8 +112,8 @@ defmodule Vx.NumberTest do
112
112
113
113
describe "integer/0" do
114
114
test "match" do
115
- assert :ok = Vx . validate ( Vx.Number . integer ( ) , 1 )
116
- assert :ok = Vx . validate ( Vx.Number . integer ( ) , 1.0 )
115
+ assert :ok = Vx . validate! ( Vx.Number . integer ( ) , 1 )
116
+ assert :ok = Vx . validate! ( Vx.Number . integer ( ) , 1.0 )
117
117
end
118
118
119
119
test "no match" do
@@ -124,8 +124,8 @@ defmodule Vx.NumberTest do
124
124
125
125
describe "integer/1" do
126
126
test "match" do
127
- assert :ok = Vx . validate ( Vx.Integer . t ( ) |> Vx.Number . integer ( ) , 1 )
128
- assert :ok = Vx . validate ( Vx.Float . t ( ) |> Vx.Number . integer ( ) , 1.0 )
127
+ assert :ok = Vx . validate! ( Vx.Integer . t ( ) |> Vx.Number . integer ( ) , 1 )
128
+ assert :ok = Vx . validate! ( Vx.Float . t ( ) |> Vx.Number . integer ( ) , 1.0 )
129
129
end
130
130
131
131
test "no match" do
@@ -135,4 +135,34 @@ defmodule Vx.NumberTest do
135
135
assert Exception . message ( error ) == "must be an integer"
136
136
end
137
137
end
138
+
139
+ describe "positive/1" do
140
+ test "match" do
141
+ assert :ok = Vx . validate! ( Vx.Number . positive ( ) , 1 )
142
+ assert :ok = Vx . validate! ( Vx.Number . positive ( ) , 0.1 )
143
+ end
144
+
145
+ test "no match" do
146
+ assert { :error , error } = Vx . validate ( Vx.Number . positive ( ) , 0 )
147
+ assert Exception . message ( error ) == "must be positive"
148
+
149
+ assert { :error , _ } = Vx . validate ( Vx.Number . positive ( ) , - 1 )
150
+ assert { :error , _ } = Vx . validate ( Vx.Number . positive ( ) , - 0.1 )
151
+ end
152
+ end
153
+
154
+ describe "negative/1" do
155
+ test "match" do
156
+ assert :ok = Vx . validate! ( Vx.Number . negative ( ) , - 1 )
157
+ assert :ok = Vx . validate! ( Vx.Number . negative ( ) , - 0.1 )
158
+ end
159
+
160
+ test "no match" do
161
+ assert { :error , error } = Vx . validate ( Vx.Number . negative ( ) , 0 )
162
+ assert Exception . message ( error ) == "must be negative"
163
+
164
+ assert { :error , _ } = Vx . validate ( Vx.Number . negative ( ) , 1 )
165
+ assert { :error , _ } = Vx . validate ( Vx.Number . negative ( ) , 0.1 )
166
+ end
167
+ end
138
168
end
0 commit comments