Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Atualizado validação do padrão do NCM
  • Loading branch information
jefperito committed Jul 13, 2016
1 parent fe06bed commit cced98a
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.fincatto.nfe310.validadores;

import org.apache.commons.lang3.StringUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.commons.lang3.StringUtils;

public abstract class StringValidador {

public static void mmaaaa(final String mmaaaa) {
Expand Down Expand Up @@ -296,11 +296,11 @@ public static void tamanho15a1000(final String string, final String info) {
StringValidador.intervalo(string, 15, 1000, info);
}
}

public static void tamanho100a600(final String string, final String info) {
if (string != null) {
StringValidador.intervalo(string, 100, 600, info);
}
if (string != null) {
StringValidador.intervalo(string, 100, 600, info);
}
}

public static void tamanho30(final String string, final String info) {
Expand Down Expand Up @@ -389,7 +389,7 @@ public static void fci(final String numeroControleFCI) {

public static void ncm(final String ncm) {
if (ncm != null) {
final Matcher matcher = Pattern.compile("^([0-9]{2}|[0][1-9][0-9]{6}|[1-9][0-9]{7})$").matcher(ncm);
final Matcher matcher = Pattern.compile("^([0-9]{2}|[0-9]{8})$").matcher(ncm);
if (!matcher.find()) {
throw new IllegalStateException(String.format("NCM fora do padrao (%s)", ncm));
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,4 +181,34 @@ public void naoDevePermitirCodigoDeBarrasComValorInvalido() {
}
}
}

@Test
public void devePermitirNCMFormatoValido() {
StringValidador.ncm("00");
StringValidador.ncm("99");
StringValidador.ncm("00000000");
StringValidador.ncm("99999999");
}

@Test(expected = IllegalStateException.class)
public void naoDevePermitirNCMForaDoLimite2Posicoes() {
try {
StringValidador.ncm("9");
Assert.fail();
} catch (final IllegalStateException e) {
StringValidador.ncm("000");
Assert.fail();
}
}

@Test(expected = IllegalStateException.class)
public void naoDevePermitirNCMForaDoLimite8Posicoes() {
try {
StringValidador.ncm("9999999");
Assert.fail();
} catch (final IllegalStateException e) {
StringValidador.ncm("000000000");
Assert.fail();
}
}
}

0 comments on commit cced98a

Please sign in to comment.