Skip to content

Commit c3a0a92

Browse files
committed
Avaje Digits use integer() property, Avaje Max/Min use long type
1 parent 3c3f2d9 commit c3a0a92

File tree

5 files changed

+151
-3
lines changed

5 files changed

+151
-3
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package example.avaje;
2+
3+
import io.avaje.validation.ValidPojo;
4+
import io.avaje.validation.constraints.*;
5+
6+
@ValidPojo
7+
public class ANums {
8+
9+
@Digits(integer = 5, fraction = 3)
10+
public String digits = "1234.12";
11+
12+
@Positive
13+
public int positive = 3;
14+
15+
@PositiveOrZero
16+
public int positiveOrZero = 0;
17+
18+
@Negative
19+
public int negative = -3;
20+
21+
@NegativeOrZero
22+
public int negativeOrZero = 0;
23+
24+
@Max(20)
25+
public int max = 0;
26+
27+
@Min(5)
28+
public int min = 6;
29+
30+
}
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
package example.avaje;
2+
3+
import io.avaje.validation.ConstraintViolation;
4+
import io.avaje.validation.ConstraintViolationException;
5+
import io.avaje.validation.Validator;
6+
import org.junit.jupiter.api.Test;
7+
8+
import java.util.ArrayList;
9+
import java.util.Locale;
10+
11+
import static org.assertj.core.api.Assertions.assertThat;
12+
import static org.assertj.core.api.Assertions.fail;
13+
14+
class ANumsTest {
15+
16+
final Validator validator = Validator.builder().build();
17+
18+
@Test
19+
void valid() {
20+
validator.validate(new ANums());
21+
}
22+
23+
@Test
24+
void digits() {
25+
var bean = new ANums();
26+
bean.digits = "12345678";
27+
var violation = one(bean);
28+
assertThat(violation.message()).isEqualTo("numeric value out of bounds (<5 digits>.<3 digits> expected)");
29+
}
30+
31+
@Test
32+
void digitsDE() {
33+
var bean = new ANums();
34+
bean.digits = "12345678";
35+
var violation = one(bean, Locale.GERMAN);
36+
assertThat(violation.message()).isEqualTo("numerischer Wert außerhalb des gültigen Bereichs (<5 digits>.<3 digits> erwartet)");
37+
}
38+
39+
@Test
40+
void positive() {
41+
var bean = new ANums();
42+
bean.positive = -1;
43+
var violation = one(bean);
44+
assertThat(violation.message()).isEqualTo("must be greater than 0");
45+
}
46+
47+
@Test
48+
void positiveDE() {
49+
var bean = new ANums();
50+
bean.positive = -1;
51+
var violation = one(bean, Locale.GERMAN);
52+
assertThat(violation.message()).isEqualTo("muss größer als 0 sein");
53+
}
54+
55+
@Test
56+
void positiveOrZero() {
57+
var bean = new ANums();
58+
bean.positiveOrZero = -1;
59+
var violation = one(bean);
60+
assertThat(violation.message()).isEqualTo("must be greater than or equal to 0");
61+
}
62+
63+
@Test
64+
void positiveOrZeroDE() {
65+
var bean = new ANums();
66+
bean.positiveOrZero = -1;
67+
var violation = one(bean, Locale.GERMAN);
68+
assertThat(violation.message()).isEqualTo("muss größer-gleich 0 sein");
69+
}
70+
71+
@Test
72+
void negative() {
73+
var bean = new ANums();
74+
bean.negative = 1;
75+
var violation = one(bean);
76+
assertThat(violation.message()).isEqualTo("must be less than 0");
77+
}
78+
79+
@Test
80+
void negativeDE() {
81+
var bean = new ANums();
82+
bean.negative = 1;
83+
var violation = one(bean, Locale.GERMAN);
84+
assertThat(violation.message()).isEqualTo("muss kleiner als 0 sein");
85+
}
86+
87+
@Test
88+
void negativeOrZero() {
89+
var bean = new ANums();
90+
bean.negativeOrZero = 1;
91+
var violation = one(bean);
92+
assertThat(violation.message()).isEqualTo("must be less than or equal to 0");
93+
}
94+
95+
@Test
96+
void negativeOrZeroDE() {
97+
var bean = new ANums();
98+
bean.negativeOrZero = 1;
99+
var violation = one(bean, Locale.GERMAN);
100+
assertThat(violation.message()).isEqualTo("muss kleiner-gleich 0 sein");
101+
}
102+
103+
ConstraintViolation one(Object any) {
104+
return one(any, Locale.ENGLISH);
105+
}
106+
107+
ConstraintViolation one(Object any, Locale locale) {
108+
try {
109+
validator.validate(any, locale);
110+
fail("not expected");
111+
return null;
112+
} catch (ConstraintViolationException e) {
113+
var violations = new ArrayList<>(e.violations());
114+
assertThat(violations).hasSize(1);
115+
return violations.get(0);
116+
}
117+
}
118+
}

validator-constraints/src/main/java/io/avaje/validation/constraints/Digits.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
Class<?>[] groups() default {};
1212

13-
int value();
13+
int integer();
1414

1515
int fraction() default 0;
1616

validator-constraints/src/main/java/io/avaje/validation/constraints/Max.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
Class<?>[] groups() default {};
1212

13-
double value();
13+
long value();
1414

1515
@Target({ElementType.METHOD, ElementType.FIELD})
1616
@Retention(RetentionPolicy.RUNTIME)

validator-constraints/src/main/java/io/avaje/validation/constraints/Min.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
Class<?>[] groups() default {};
1212

13-
double value();
13+
long value();
1414

1515
@Target({ElementType.METHOD, ElementType.FIELD})
1616
@Retention(RetentionPolicy.RUNTIME)

0 commit comments

Comments
 (0)