• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

wmixvideo / nfe / #6538

02 Jun 2016 11:49PM UTC coverage: 79.364% (+3.7%) from 75.706%
#6538

push

travis-ci

fincatto
Atualizado xsd de validacao de envio de lote, que valida as notas com assinatura.
Atualizado para versão 2.0.0-SNAPSHOT, pois o codigo quebrou a compatibilidade.

0 of 1 new or added line in 1 file covered. (0.0%)

349 existing lines in 68 files now uncovered.

4742 of 5975 relevant lines covered (79.36%)

50.29 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

94.74
/src/main/java/com/fincatto/nfe310/validadores/BigDecimalParser.java
1
package com.fincatto.nfe310.validadores;
2

3
import org.apache.commons.lang3.StringUtils;
4

5
import java.math.BigDecimal;
6
import java.math.MathContext;
7
import java.math.RoundingMode;
8
import java.text.DecimalFormat;
9
import java.text.DecimalFormatSymbols;
10
import java.util.Locale;
11

UNCOV
12
public abstract class BigDecimalParser {
×
13

14
    public static String tamanho11Com3CasasDecimais(final BigDecimal valor) {
15
        return BigDecimalParser.parse(valor, "0.000", 12, 3);
65✔
16
    }
17

18
    public static String tamanho15Com2CasasDecimais(final BigDecimal valor) {
19
        return BigDecimalParser.parse(valor, "0.00", 16, 2);
4,917✔
20
    }
21

22
    public static String tamanho15Com3CasasDecimais(final BigDecimal valor) {
23
        return BigDecimalParser.parse(valor, "0.000", 16, 3);
95✔
24
    }
25

26
    public static String tamanho15Com4CasasDecimais(final BigDecimal valor) {
27
        return BigDecimalParser.parse(valor, "0.0000", 16, 4);
112✔
28
    }
29

30
    public static String tamanho21ComAte10CasasDecimais(final BigDecimal valor) {
31
        return BigDecimalParser.parse(valor, "0.##########", 22, 10);
285✔
32
    }
33

34
    public static String tamanho15comAte4CasasDecimais(final BigDecimal valor) {
35
        return BigDecimalParser.parse(valor, "0.####", 16, 4);
649✔
36
    }
37

38
    public static String tamanho5Com2CasasDecimais(final BigDecimal valor) {
39
        return BigDecimalParser.parse(valor, "0.00", 7, 2);
240✔
40
    }
41

42
    public static String tamanho7ComAte4CasasDecimais(final BigDecimal valor) {
43
        return BigDecimalParser.parse(valor, "0.00##", 8, 4);
1,045✔
44
    }
45

46
    public static String tamanho16ComAte4CasasDecimais(final BigDecimal valor) {
47
        return BigDecimalParser.parse(valor, "0.####", 17, 4);
97✔
48
    }
49

50
    public static String tamanho16Com4CasasDecimais(final BigDecimal valor) {
51
        return BigDecimalParser.parse(valor, "0.0000", 17, 4);
47✔
52
    }
53

54
    public static String tamanho9Com4CasasDecimais(final BigDecimal valor) {
55
        return BigDecimalParser.parse(valor, "0.0000", 10, 4);
92✔
56
    }
57

58
    public static String tamanho4Com2CasasDecimais(final BigDecimal valor) {
59
        return BigDecimalParser.parse(valor, "0.00", 5, 2);
39✔
60
    }
61

62
    private static String parse(BigDecimal valor, final String formato, final int tamanho, final int posicaoPontoFlutuante) {
63
        if (valor == null) {
7,683✔
64
            return null;
12✔
65
        }
66
        if (valor.toPlainString().length() > tamanho || StringUtils.split(valor.toPlainString(), ".")[0].length() > (tamanho - (posicaoPontoFlutuante + 1)) || valor.scale() > posicaoPontoFlutuante) {
7,671✔
67
            throw new NumberFormatException("Valor extrapolou o tamanho de casas");
187✔
68
        }
69
        valor = valor.round(new MathContext(valor.precision(), RoundingMode.UNNECESSARY));
7,484✔
70
        return new DecimalFormat(formato, DecimalFormatSymbols.getInstance(Locale.US)).format(valor);
7,484✔
71
    }
72
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc