Skip to content

Commit 70bcc1c

Browse files
committed
test(validator): 添加 assertLength() 和 assertRange() 的测试用例
1 parent 0562636 commit 70bcc1c

1 file changed

Lines changed: 118 additions & 2 deletions

File tree

src/test/java/me/codeplayer/validator/ValidatorTest.java

Lines changed: 118 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package me.codeplayer.validator;
22

33
import java.math.BigDecimal;
4+
import java.util.function.Predicate;
45

5-
import me.codeplayer.util.Book;
6-
import me.codeplayer.util.Entity;
6+
import me.codeplayer.util.*;
77
import org.junit.jupiter.api.Test;
88

99
import static org.junit.jupiter.api.Assertions.*;
@@ -110,6 +110,122 @@ public void validateValue_ErrorMsg() {
110110
assertEquals(errorMsg, validator.getResult(String.class));
111111
}
112112

113+
@Test
114+
void assertLength() {
115+
{
116+
Predicate<CharSequence> matcher = Validators.assertLength(1, 2);
117+
assertFalse(matcher.test(null));
118+
assertFalse(matcher.test(""));
119+
assertTrue(matcher.test("a"));
120+
assertTrue(matcher.test("ab"));
121+
assertFalse(matcher.test("abc"));
122+
}
123+
{
124+
Predicate<CharSequence> matcher = Validators.assertLength(1, -1);
125+
assertFalse(matcher.test(null));
126+
assertFalse(matcher.test(""));
127+
assertTrue(matcher.test("a"));
128+
assertTrue(matcher.test("ab"));
129+
assertTrue(matcher.test("HelloWorld"));
130+
}
131+
132+
}
133+
134+
@Test
135+
void assertRange() {
136+
{
137+
Predicate<Integer> matcher = Validators.assertRange(1, 2);
138+
assertFalse(matcher.test(null));
139+
assertFalse(matcher.test(0));
140+
assertTrue(matcher.test(1));
141+
assertTrue(matcher.test(2));
142+
assertFalse(matcher.test(3));
143+
}
144+
{
145+
Predicate<Integer> matcher = Validators.assertRange(1, -1);
146+
assertFalse(matcher.test(null));
147+
assertFalse(matcher.test(-1));
148+
assertFalse(matcher.test(0));
149+
assertFalse(matcher.test(1));
150+
assertFalse(matcher.test(2));
151+
assertFalse(matcher.test(3));
152+
}
153+
{
154+
Predicate<Long> matcher = Validators.assertRange(1L, 2L);
155+
assertFalse(matcher.test(null));
156+
assertFalse(matcher.test(0L));
157+
assertTrue(matcher.test(1L));
158+
assertTrue(matcher.test(2L));
159+
assertFalse(matcher.test(3L));
160+
}
161+
{
162+
Predicate<Long> matcher = Validators.assertRange(1L, -1L);
163+
assertFalse(matcher.test(null));
164+
assertFalse(matcher.test(-1L));
165+
assertFalse(matcher.test(0L));
166+
assertFalse(matcher.test(1L));
167+
assertFalse(matcher.test(2L));
168+
assertFalse(matcher.test(3L));
169+
}
170+
{
171+
Predicate<Double> matcher = Validators.assertRange(1D, 2D);
172+
assertFalse(matcher.test(null));
173+
assertFalse(matcher.test(0D));
174+
assertTrue(matcher.test(1D));
175+
assertTrue(matcher.test(2D));
176+
assertFalse(matcher.test(3D));
177+
}
178+
{
179+
Predicate<Double> matcher = Validators.assertRange(1D, -1D);
180+
assertFalse(matcher.test(null));
181+
assertFalse(matcher.test(-1D));
182+
assertFalse(matcher.test(0D));
183+
assertFalse(matcher.test(1D));
184+
assertFalse(matcher.test(2D));
185+
assertFalse(matcher.test(3D));
186+
}
187+
{
188+
Predicate<BigDecimal> matcher = Validators.assertRange(Arith.ONE, Arith.TEN);
189+
assertFalse(matcher.test(null));
190+
assertFalse(matcher.test(Arith.toBigDecimal(0)));
191+
assertTrue(matcher.test(Arith.toBigDecimal(1)));
192+
assertTrue(matcher.test(Arith.toBigDecimal(2)));
193+
assertTrue(matcher.test(Arith.toBigDecimal(3)));
194+
assertTrue(matcher.test(Arith.toBigDecimal(10)));
195+
assertFalse(matcher.test(Arith.toBigDecimal(11)));
196+
}
197+
{
198+
Predicate<BigDecimal> matcher = Validators.assertRange(null, null);
199+
assertFalse(matcher.test(null));
200+
assertTrue(matcher.test(Arith.toBigDecimal(0)));
201+
assertTrue(matcher.test(Arith.toBigDecimal(1)));
202+
assertTrue(matcher.test(Arith.toBigDecimal(2)));
203+
assertTrue(matcher.test(Arith.toBigDecimal(3)));
204+
assertTrue(matcher.test(Arith.toBigDecimal(10)));
205+
assertTrue(matcher.test(Arith.toBigDecimal(11)));
206+
}
207+
{
208+
Predicate<BigDecimal> matcher = Validators.assertRange(Arith.ONE, null);
209+
assertFalse(matcher.test(null));
210+
assertFalse(matcher.test(Arith.toBigDecimal(0)));
211+
assertTrue(matcher.test(Arith.toBigDecimal(1)));
212+
assertTrue(matcher.test(Arith.toBigDecimal(2)));
213+
assertTrue(matcher.test(Arith.toBigDecimal(3)));
214+
assertTrue(matcher.test(Arith.toBigDecimal(10)));
215+
assertTrue(matcher.test(Arith.toBigDecimal(11)));
216+
}
217+
{
218+
Predicate<BigDecimal> matcher = Validators.assertRange(null, Arith.TEN);
219+
assertFalse(matcher.test(null));
220+
assertTrue(matcher.test(Arith.toBigDecimal(0)));
221+
assertTrue(matcher.test(Arith.toBigDecimal(1)));
222+
assertTrue(matcher.test(Arith.toBigDecimal(2)));
223+
assertTrue(matcher.test(Arith.toBigDecimal(3)));
224+
assertTrue(matcher.test(Arith.toBigDecimal(10)));
225+
assertFalse(matcher.test(Arith.toBigDecimal(11)));
226+
}
227+
}
228+
113229
@Test
114230
public void validatePropertyAccessor_ErrorMsg() {
115231
assertThrows(IllegalArgumentException.class, () -> {

0 commit comments

Comments
 (0)