1 package org.mod4j.runtime.validation;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertFalse;
5 import static org.junit.Assert.assertTrue;
6
7 import org.junit.Test;
8 import org.mod4j.runtime.validation.NotNullValidator;
9 import org.springframework.validation.BindException;
10 import org.springframework.validation.Errors;
11 import org.springframework.validation.Validator;
12
13
14
15
16 public class NotNullValidatorTest {
17
18 @Test
19 public void testSupports() {
20 Validator validator = new NotNullValidator(ClassToTest.class, "stringProperty");
21 assertTrue(validator.supports(ClassToTest.class));
22 assertFalse(validator.supports(String.class));
23 }
24
25 @Test
26 public void testValidateSucces() {
27 Object object = new ClassToTest("123");
28 Validator validator = new NotNullValidator(ClassToTest.class, "stringProperty");
29 Errors errors = new BindException(object, "object");
30 validator.validate(object, errors);
31 assertFalse(errors.hasErrors());
32 }
33
34 @Test
35 public void testValidateFailure() {
36 Object object = new ClassToTest(null);
37 Validator validator = new NotNullValidator(ClassToTest.class, "stringProperty");
38 Errors errors = new BindException(object, "object");
39 validator.validate(object, errors);
40 assertTrue(errors.hasErrors());
41 assertEquals("field.required", errors.getFieldError().getCode());
42 }
43
44 class ClassToTest {
45 private String stringProperty;
46
47 public ClassToTest(String value) {
48 this.stringProperty = value;
49 }
50
51 public String getStringProperty() {
52 return stringProperty;
53 }
54
55 public void setStringProperty(String stringProperty) {
56 this.stringProperty = stringProperty;
57 }
58 }
59
60 class SubclassOfClassToTest extends ClassToTest {
61 public SubclassOfClassToTest(String value) {
62 super(value);
63 }
64 }
65 }