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

wmixvideo / nfe / #6656

20 Jun 2016 11:31AM UTC coverage: 79.109% (+2.5%) from 76.628%
#6656

push

travis-ci

fincatto
Gerador de chave gerando codigo randomico, quando nao informado.

3 of 3 new or added lines in 1 file covered. (100.0%)

352 existing lines in 69 files now uncovered.

4741 of 5993 relevant lines covered (79.11%)

50.57 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);
66✔
16
    }
17

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

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

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

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

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

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

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

46
    public static String tamanho16ComAte4CasasDecimais(final BigDecimal valor) {
47
        return BigDecimalParser.parse(valor, "0.####", 17, 4);
98✔
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);
40✔
60
    }
61

62
    private static String parse(BigDecimal valor, final String formato, final int tamanho, final int posicaoPontoFlutuante) {
63
        if (valor == null) {
7,784✔
64
            return null;
12✔
65
        }
66
        if (valor.toPlainString().length() > tamanho || StringUtils.split(valor.toPlainString(), ".")[0].length() > (tamanho - (posicaoPontoFlutuante + 1)) || valor.scale() > posicaoPontoFlutuante) {
7,772✔
67
            throw new NumberFormatException("Valor extrapolou o tamanho de casas");
187✔
68
        }
69
        valor = valor.round(new MathContext(valor.precision(), RoundingMode.UNNECESSARY));
7,585✔
70
        return new DecimalFormat(formato, DecimalFormatSymbols.getInstance(Locale.US)).format(valor);
7,585✔
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