1 /*
2 * #%L
3 * Nuiton Validator
4 * %%
5 * Copyright (C) 2013 - 2014 Code Lutin, Tony Chemit
6 * %%
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as
9 * published by the Free Software Foundation, either version 3 of the
10 * License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Lesser Public License for more details.
16 *
17 * You should have received a copy of the GNU General Lesser Public
18 * License along with this program. If not, see
19 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
20 * #L%
21 */
22 package org.nuiton.validator.xwork2.field;
23
24 import org.junit.Test;
25 import org.nuiton.validator.model.Contact;
26
27 /**
28 * @author Jean Couteau - couteau@codelutin.com
29 * @since 2.3
30 */
31 public class FrenchPostCodeFieldValidatorTest extends AbstractFieldValidatorTest<Contact> {
32
33 public FrenchPostCodeFieldValidatorTest() {
34 super(Contact.class);
35 }
36
37 @Test
38 @Override
39 public void testValidator() throws Exception {
40
41 assertNull(bean.getPostCode());
42
43 // Valid postCode
44 bean.setPostCode("44230");
45 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
46 false);
47
48 // Valid postCode for Corsica
49 bean.setEmail("2A220");
50 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
51 false);
52
53 // Valid postCode for DOM
54 bean.setEmail("97120");
55 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
56 false);
57
58 // Valid postCode for TOM
59 bean.setPostCode("98120");
60 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
61 false);
62
63 // Too long postCode
64 bean.setPostCode("442300");
65 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
66 true);
67
68 // Too short postCode
69 bean.setPostCode("4423");
70 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
71 true);
72
73 // postCode cannot start with 99
74 bean.setPostCode("99230");
75 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
76 true);
77
78 // postCode can be empty (use a requiredstring validator for this check)
79 bean.setPostCode("");
80 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
81 false);
82
83 // postCode can be null (use a requiredstring validator for this check)
84 bean.setPostCode(null);
85 assertFieldInError(Contact.PROPERTY_POSTCODE, "contact.postCode.format",
86 false);
87
88
89 }
90 }