From Bavencoff@users.nuiton.org Thu Aug 8 15:12:30 2013
From: Bavencoff@users.nuiton.org
To: nuiton-validator-commits@list.nuiton.org
Subject: [Nuiton-validator-commits] r2599 - in trunk/src:
main/java/org/nuiton/validator/xwork2/field
test/java/org/nuiton/validator/model
test/java/org/nuiton/validator/xwork2/field test/resources
test/resources/org/nuiton/validator/model
Date: Thu, 08 Aug 2013 15:12:30 +0200
Message-ID: <20130808131230.8286B18DDDA@nuiton.codelutin.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============8434967820921170131=="
--===============8434967820921170131==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Author: Bavencoff
Date: 2013-08-08 15:12:30 +0200 (Thu, 08 Aug 2013)
New Revision: 2599
Url: http://nuiton.org/projects/nuiton-validator/repository/revisions/2599
Log:
Add French SIREN validator.
Move Luhn checksum in FrenchSiretFieldValidator to FieldValidatorUtil
add Luhn checksum in FrenchFinessValidator
Added:
trunk/src/main/java/org/nuiton/validator/xwork2/field/FieldValidatorUtil.j=
ava
trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSirenFieldVali=
dator.java
trunk/src/test/java/org/nuiton/validator/xwork2/field/FieldValidatorUtilTe=
st.java
trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSirenFieldVali=
datorTest.java
Modified:
trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchFinessFieldVal=
idator.java
trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSiretFieldVali=
dator.java
trunk/src/test/java/org/nuiton/validator/model/Company.java
trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchFinessFieldVal=
idatorTest.java
trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSiretFieldVali=
datorTest.java
trunk/src/test/resources/org/nuiton/validator/model/Company-error-validati=
on.xml
trunk/src/test/resources/validators.xml
Added: trunk/src/main/java/org/nuiton/validator/xwork2/field/FieldValidatorUt=
il.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/main/java/org/nuiton/validator/xwork2/field/FieldValidatorUtil.=
java (rev 0)
+++ trunk/src/main/java/org/nuiton/validator/xwork2/field/FieldValidatorUtil.=
java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -0,0 +1,99 @@
+package org.nuiton.validator.xwork2.field;
+
+/**
+ * Util tool for Field validator
+ *
+ *
+ *
+ * @author Sylvain Bavencoff
+ * @since 3.0
+ *
+ */
+
+/**
+ * @author Sylvain Bavencoff
+ */
+public class FieldValidatorUtil {
+
+ /**
+ * Verifie la validite d'un numero en suivant l'algorithme Luhn tel que =
d'ecrit
+ * dans wikipedia
+ *
+ * Algo:
+ * en fonction de la position du numero dans la sequence,
+ * on multiplie pas 1 (pour les impaires) ou par 2 pour les paires
+ * (1 etant le numero le plus a droite)
+ * On fait la somme de tous les chiffres qui resulte de ces multiplicati=
ons
+ * (si un resultat etait 14, on ne fait pas +14 mais +1+4)
+ *
+ * Si le r=C3=A9sultat de cette somme donne un reste de 0 une fois divis=
=C3=A9 par 10
+ * le numero est valide.
+ *
+ * @param value une chaine composer que de chiffre
+ * @return vrai si on a reussi a valider le numero
+ */
+ public static boolean luhnChecksum(String value) {
+
+ char[] tab =3D value.toCharArray();
+ int sum =3D 0;
+
+ // on multiple alternativement par 1 ou par 2 les chiffres
+ // sachant que le chiffre le plus =C3=A0 droite est multipli=C3=A9 p=
ar 1
+
+ // l'offset permet de savoir si le premier chiffre( le plus a gauche=
) doit etre
+ // multiplier par 1 ( offset =3D 0)
+ // multiplier par 2 (offset =3D 1)
+ int offset =3D (tab.length + 1) % 2;
+
+
+ for (int i =3D 0; i < tab.length; i++) {
+
+ // recuperation de la valeur
+ int n =3D getDigit(tab[i]);
+
+ // multiplication par 1 ou 2 en fonction de l'index et de l'offs=
et
+ n *=3D (i + offset) % 2 + 1;
+
+ // si une fois multiplie il est superieur a 9, il faut additionn=
er
+ // toutes ces constituante, mais comme il ne peut pas etre super=
ieur
+ // a 18, cela revient a retrancher 9
+ if (n > 9) {
+ n -=3D 9;
+ }
+
+ // on peut directement faire la somme
+ sum +=3D n;
+ }
+
+ // 3eme phase on verifie que c'est bien un multiple de 10
+ boolean result =3D sum % 10 =3D=3D 0;
+
+ return result;
+ }
+
+
+ /**
+ * Converti un char en un entier '0' =3D> 0 et '9' =3D> 9, et 'A' =3D> 1=
a 'Z' =3D> 36,
+ * les autres caractere sont aussi convertis pour que
+ * A|B|C|D|E|F|G|H|I|J
+ * K|L|M|N|O|P|Q|R|S|T
+ * U|V|W|X|Y|Z| | | |
+ * -+-+-+-+-+-+-+-+-+
+ * 1|2|3|4|5|6|7|8|9|0.
+ * Pour les autres c'est un indedermine
+ *
+ * @param c le caractere qui doit etre converti
+ * @return le chiffre
+ */
+ public static int getDigit(char c) {
+ int result =3D 0;
+ if (c >=3D '0' && c <=3D '9') {
+ result =3D c - '0';
+ } else if (c >=3D 'A' && c <=3D 'Z') {
+ result =3D (c - 'A' + 1) % 10;
+ } else {
+ result =3D (c - 'a' + 1) % 10;
+ }
+ return result;
+ }
+}
Modified: trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchFinessF=
ieldValidator.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchFinessFieldVa=
lidator.java 2013-07-23 15:54:55 UTC (rev 2598)
+++ trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchFinessFieldVa=
lidator.java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -37,9 +37,9 @@
*/
public class FrenchFinessFieldValidator extends NuitonFieldValidatorSupport {
=20
- protected static final String SIRET_REGEXP =3D "([0-9]{2}|2A|2B)0([0-9]{=
6})";
+ protected static final String FINESS_REGEXP =3D "(0[1-9]|[1-9][0-9]|2A|2=
B)0([0-9]{6})";
=20
- protected static final Pattern p =3D Pattern.compile(SIRET_REGEXP);
+ protected static final Pattern p =3D Pattern.compile(FINESS_REGEXP);
=20
@Override
protected void validateWhenNotSkip(Object object) throws ValidationExcep=
tion {
@@ -80,7 +80,7 @@
finess =3D finess.replaceAll(" ", "");
=20
Matcher m =3D p.matcher(finess);
- if (!m.matches()) {
+ if (!m.matches() || ! FieldValidatorUtil.luhnChecksum(finess)) {
addFieldError(fieldName, object);
}
}
Added: trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSirenField=
Validator.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSirenFieldVal=
idator.java (rev 0)
+++ trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSirenFieldVal=
idator.java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -0,0 +1,80 @@
+package org.nuiton.validator.xwork2.field;
+
+import com.opensymphony.xwork2.validator.ValidationException;
+import org.apache.commons.lang3.StringUtils;
+
+import java.lang.reflect.Array;
+import java.util.Collection;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Validator for French SIREN numbers
+ *
+ * Siret can be in:
+ * String format: "442116703"
+ * long, int: 442116703
+ * Array or Collection of something: [4,4,2,1,1,6,7,0,,3] or ["442","116=
","70", "3"]
+ *
+ * @author ylvain Bavencoff
+ * @since 3.0
+ * Validation do the Luhn checksum too
+ */
+
+public class FrenchSirenFieldValidator extends NuitonFieldValidatorSupport {
+
+ protected static final String SIREN_REGEXP =3D "[0-9]{9}";
+
+ protected static final Pattern p =3D Pattern.compile(SIREN_REGEXP);
+
+ @Override
+ public void validateWhenNotSkip(Object object) throws ValidationExceptio=
n {
+
+ String fieldName =3D getFieldName();
+ Object value =3D getFieldValue(fieldName, object);
+
+ if (value =3D=3D null) {
+ // no value defined
+ return;
+ }
+ String siren;
+
+ if (value.getClass().isArray()) {
+ // le siren est stocker dans un tableau, par exemple un byte[]
+ siren =3D "";
+ for (int i =3D 0; i < Array.getLength(value); i++) {
+ siren +=3D String.valueOf(Array.get(value, i));
+ }
+ } else if (value instanceof Collection>) {
+ // le siren est stocker dans une collection,
+ // ca doit pas arriver souvent :D, mais autant le gerer
+ siren =3D "";
+ for (Object o : (Collection>) value) {
+ siren +=3D String.valueOf(o);
+ }
+ } else {
+ // sinon dans tous les autres cas (String, int, long, BigInteger=
...)
+ // on prend le toString
+ siren =3D String.valueOf(value);
+ }
+
+ if (StringUtils.isEmpty(siren)) {
+ // no value defined
+ return;
+ }
+
+ // Remove any space
+ siren =3D siren.replaceAll(" ", "");
+
+ Matcher m =3D p.matcher(siren);
+ if (!m.matches() || ! FieldValidatorUtil.luhnChecksum(siren)) {
+ addFieldError(fieldName, object);
+ }
+ }
+
+ @Override
+ public String getValidatorType() {
+ return "frenchSiret";
+ }
+
+}
Modified: trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSiretFi=
eldValidator.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSiretFieldVal=
idator.java 2013-07-23 15:54:55 UTC (rev 2598)
+++ trunk/src/main/java/org/nuiton/validator/xwork2/field/FrenchSiretFieldVal=
idator.java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -89,7 +89,7 @@
siret =3D siret.replaceAll(" ", "");
=20
Matcher m =3D p.matcher(siret);
- if (!m.matches() || !luhnChecksum(siret)) {
+ if (!m.matches() || ! FieldValidatorUtil.luhnChecksum(siret)) {
addFieldError(fieldName, object);
}
}
@@ -99,78 +99,4 @@
return "frenchSiret";
}
=20
- /**
- * Verifie la validite d'un numero en suivant l'algorithme Luhn tel que =
d'ecrit
- * dans wikipedia
- *
- * Algo:
- * en fonction de la position du numero dans la sequence,
- * on multiplie pas 1 (pour les impaires) ou par 2 pour les paires
- * (1 etant le numero le plus a droite)
- * On fait la somme de tous les chiffres qui resulte de ces multiplicati=
ons
- * (si un resultat etait 14, on ne fait pas +14 mais +1+4)
- *
- * Si le r=C3=A9sultat de cette somme donne un reste de 0 une fois divis=
=C3=A9 par 10
- * le numero est valide.
- *
- * @param siret une chaine composer que de chiffre
- * @return vrai si on a reussi a valider le numero
- */
- public static boolean luhnChecksum(String siret) {
-
- char[] tab =3D siret.toCharArray();
- int sum =3D 0;
- for (int i =3D tab.length - 1; i >=3D 0; i--) {
- // recuperation de la valeur
- int n =3D getDigit(tab[i]);
-
- // 1ere phase il faut faire la multiplication par 1 ou 2
-
- // il faut faire x1 pour les paires et x2 sur les impaires.
- // en prenant en compte que le numero siret le plus a droite est=
le
- // 1 et le plus a gauche le 14.
- // mais comme en informatique on commence a 0 :D
- // il faut faire +1 sur l'indice puis un simple module 2 + 1
- // nous convient
- n *=3D (i + 1) % 2 + 1;
-
- // 2eme phase il faut faire l'addition
-
- // si une fois multiplie il est superieur a 9, il faut additionn=
er
- // toutes ces constituante, mais comme il ne peut pas etre super=
ieur
- // a 18, cela revient a retrancher 9
- if (n > 9) {
- n -=3D 9;
- }
-
- // on peut directement faire la somme
- sum +=3D n;
- }
-
- // 3eme phase on verifie que c'est bien un multiple de 10
- boolean result =3D sum % 10 =3D=3D 0;
-
- return result;
- }
-
-
- /**
- * Converti un char en un entier '0' =3D> 0 et '9' =3D> 9, et 'A' =3D> 1=
0 a 'Z' =3D> 36,
- * les autres caractere sont aussi convertis pour que 'a' =3D 10 et 'z' =
=3D 36.
- * Pour les autres c'est un indedermine
- *
- * @param c le caractere qui doit etre converti
- * @return le chiffre
- */
- public static int getDigit(char c) {
- int result =3D 0;
- if (c >=3D '0' && c <=3D '9') {
- result =3D c - '0';
- } else if (c >=3D 'A' && c <=3D 'Z') {
- result =3D c - 'A' + 10;
- } else {
- result =3D c - 'a' + 10;
- }
- return result;
- }
}
Modified: trunk/src/test/java/org/nuiton/validator/model/Company.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/test/java/org/nuiton/validator/model/Company.java 2013-07-23 15=
:54:55 UTC (rev 2598)
+++ trunk/src/test/java/org/nuiton/validator/model/Company.java 2013-08-08 13=
:12:30 UTC (rev 2599)
@@ -33,10 +33,14 @@
=20
public static final String PROPERTY_SIRET =3D "siret";
=20
+ public static final String PROPERTY_SIREN =3D "siren";
+
protected String vat;
=20
protected String siret;
=20
+ protected String siren;
+
public String getVat() {
return vat;
}
@@ -52,4 +56,12 @@
public void setSiret(String siret) {
this.siret =3D siret;
}
+
+ public String getSiren() {
+ return siren;
+ }
+
+ public void setSiren(String siren) {
+ this.siren =3D siren;
+ }
}
Added: trunk/src/test/java/org/nuiton/validator/xwork2/field/FieldValidatorUt=
ilTest.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/test/java/org/nuiton/validator/xwork2/field/FieldValidatorUtilT=
est.java (rev 0)
+++ trunk/src/test/java/org/nuiton/validator/xwork2/field/FieldValidatorUtilT=
est.java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -0,0 +1,25 @@
+package org.nuiton.validator.xwork2.field;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * @author Sylvain Bavencoff
+ */
+public class FieldValidatorUtilTest extends Assert {
+
+ @Test
+ public void TestLuhnChecksum() throws Exception {
+ // verification sur de vrai numero siret (ca doit passer :)
+ assertTrue(FieldValidatorUtil.luhnChecksum("44211670300038"));
+ assertTrue(FieldValidatorUtil.luhnChecksum("73282932000074"));
+ assertTrue(FieldValidatorUtil.luhnChecksum("2A0002879"));
+
+ // verification avec les memes, en ne modifiant que le dernier chiff=
re
+ // ca doit failer
+ assertFalse(FieldValidatorUtil.luhnChecksum("44211670300030"));
+ assertFalse(FieldValidatorUtil.luhnChecksum("73282932000070"));
+ assertFalse(FieldValidatorUtil.luhnChecksum("2A0002870"));
+ }
+
+}
Modified: trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchFinessF=
ieldValidatorTest.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchFinessFieldVa=
lidatorTest.java 2013-07-23 15:54:55 UTC (rev 2598)
+++ trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchFinessFieldVa=
lidatorTest.java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -42,13 +42,23 @@
assertNull(bean.getFiness());
=20
// Valid Finess
- bean.setFiness("440123456");
+ bean.setFiness("440012664");
assertFieldInError(HealthEstablishment.PROPERTY_FINESS, "healthEstab=
lishment.finess.format",
false);
=20
// Valid Finess
- bean.setFiness("2B0483714");
+ bean.setFiness("310001177");
assertFieldInError(HealthEstablishment.PROPERTY_FINESS, "healthEstab=
lishment.finess.format",
+ false);
+
+ // Valid Finess
+ bean.setFiness("2A0002879");
+ assertFieldInError(HealthEstablishment.PROPERTY_FINESS, "healthEstab=
lishment.finess.format",
+ false);
+
+ // Valid Finess
+ bean.setFiness("2B0000236");
+ assertFieldInError(HealthEstablishment.PROPERTY_FINESS, "healthEstab=
lishment.finess.format",
false);
=20
// not Valid Finess
@@ -67,7 +77,7 @@
true);
=20
// not Valid Finess
- bean.setFiness("441123456");
+ bean.setFiness("000123456");
assertFieldInError(HealthEstablishment.PROPERTY_FINESS, "healthEstab=
lishment.finess.format",
true);
=20
@@ -81,5 +91,10 @@
assertFieldInError(HealthEstablishment.PROPERTY_FINESS, "healthEstab=
lishment.finess.format",
true);
=20
+ // not Valid Finess
+ bean.setFiness("440012666");
+ assertFieldInError(HealthEstablishment.PROPERTY_FINESS, "healthEstab=
lishment.finess.format",
+ true);
+
}
}
Added: trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSirenField=
ValidatorTest.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSirenFieldVal=
idatorTest.java (rev 0)
+++ trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSirenFieldVal=
idatorTest.java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -0,0 +1,67 @@
+package org.nuiton.validator.xwork2.field;
+
+import org.junit.Test;
+import org.nuiton.validator.model.Company;
+
+/**
+ * @author Sylvain Bavencoff
+ */
+public class FrenchSirenFieldValidatorTest extends AbstractFieldValidatorTes=
t {
+
+ public FrenchSirenFieldValidatorTest() {
+ super(Company.class);
+ }
+
+ @Test
+ @Override
+ public void testValidator() throws Exception {
+
+ assertNull(bean.getSiren());
+
+ // Valid siren
+ bean.setSiren("751700782");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ false);
+
+ // Valid siren
+ bean.setSiren("263903007");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ false);
+
+ // Not Valid siren, because bad checksum
+ bean.setSiren("263903000");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ true);
+
+ // Not valid siren
+ bean.setSiren("44211670");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ true);
+
+ // Not valid siren
+ bean.setSiren("442116703000389");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ true);
+
+ // Not valid siren
+ bean.setSiren("4421bf167");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ true);
+
+ // Use requiredString for empty siren
+ bean.setSiren("");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ false);
+
+ // Use required for null siren
+ bean.setSiren(null);
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ false);
+
+ // Valid siren with spaces
+ bean.setSiren("535 198 188 ");
+ assertFieldInError(Company.PROPERTY_SIREN, "company.siren.format",
+ false);
+
+ }
+}
\ No newline at end of file
Modified: trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSiretFi=
eldValidatorTest.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSiretFieldVal=
idatorTest.java 2013-07-23 15:54:55 UTC (rev 2598)
+++ trunk/src/test/java/org/nuiton/validator/xwork2/field/FrenchSiretFieldVal=
idatorTest.java 2013-08-08 13:12:30 UTC (rev 2599)
@@ -37,18 +37,6 @@
}
=20
@Test
- public void TestLuhnChecksum() throws Exception {
- // verification sur de vrai numero siret (ca doit passer :)
- assertTrue(FrenchSiretFieldValidator.luhnChecksum("44211670300038"));
- assertTrue(FrenchSiretFieldValidator.luhnChecksum("73282932000074"));
-
- // verification avec les memes, en ne modifiant que le dernier chiff=
re
- // ca doit failer
- assertFalse(FrenchSiretFieldValidator.luhnChecksum("44211670300030")=
);
- assertFalse(FrenchSiretFieldValidator.luhnChecksum("73282932000070")=
);
- }
-
- @Test
@Override
public void testValidator() throws Exception {
=20
Modified: trunk/src/test/resources/org/nuiton/validator/model/Company-error-v=
alidation.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/test/resources/org/nuiton/validator/model/Company-error-validat=
ion.xml 2013-07-23 15:54:55 UTC (rev 2598)
+++ trunk/src/test/resources/org/nuiton/validator/model/Company-error-validat=
ion.xml 2013-08-08 13:12:30 UTC (rev 2599)
@@ -32,6 +32,12 @@
=20
+
+
+ company.siren.format
+
+
+
company.vat.format
Modified: trunk/src/test/resources/validators.xml
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/src/test/resources/validators.xml 2013-07-23 15:54:55 UTC (rev 2598)
+++ trunk/src/test/resources/validators.xml 2013-08-08 13:12:30 UTC (rev 2599)
@@ -67,6 +67,7 @@
+
=20
--===============8434967820921170131==--