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

wmixvideo / nfe / #9404

17 Jul 2026 10:21PM UTC coverage: 50.853% (-0.9%) from 51.794%
#9404

push

web-flow
mdfe3: corrige cardinalidade/posição de prodPred e categCombVeic conforme XSD 3.00 (#1177)

* mdfe3: corrige posicao de categCombVeic no vale-pedagio

Conforme mdfeModalRodoviario_v3.00.xsd, categCombVeic e filho direto de
<valePed> (irmao de <disp>, ocorrencia 0..1), e nao um elemento repetido
dentro de cada <disp>. Move o campo (agora tipado como
MDFTipoCategoriaCombinacaoVeicular) de MDFInfoModalRodoviarioPedagioDisp
para MDFInfoModalRodoviarioPedagio, apos a lista de dispositivos.

Adiciona MDFInfoModalRodoviarioPedagioTest cobrindo a ordem de
serializacao e o round-trip; remove o teste correspondente em
MDFInfoModalRodoviarioPedagioDispTest.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* mdfe3: prodPred passa a ser 0..1 (elemento unico)

Conforme mdfeTiposBasico_v3.00.xsd (<xs:element name=prodPred
minOccurs=0>), prodPred ocorre 0..1. Troca o mapeamento em MDFInfo de
@ElementList (0..n) para @Element unico (MDFInfoProdutoPredominante),
ajustando getter/setter e a fabrica de objetos fake dos testes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

14930 of 29359 relevant lines covered (50.85%)

0.51 hits per line

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

86.49
/src/main/java/com/fincatto/documentofiscal/validadores/DFIntegerValidador.java
1
package com.fincatto.documentofiscal.validadores;
2

3
public abstract class DFIntegerValidador {
×
4

5
    public static void tamanho4(final Integer valor, final String info) {
6
        DFIntegerValidador.limite(valor, 9999, info);
1✔
7
    }
1✔
8

9
    public static void tamanho5(final Integer valor, final String info) {
10
        DFIntegerValidador.limite(valor, 99999, info);
1✔
11
    }
1✔
12

13
    public static void tamanho7(final Integer valor, final String info) {
14
        DFIntegerValidador.limite(valor, 9999999, info);
1✔
15
    }
1✔
16

17
    public static void tamanho9(final Integer valor, final String info) {
18
        DFIntegerValidador.limite(valor, 999999999, info);
1✔
19
    }
1✔
20

21
    public static void exatamente7(final Integer valor, final String info) {
22
        DFIntegerValidador.intervalo(valor, 1000000, 9999999, info);
1✔
23
    }
1✔
24

25
    public static void exatamente4(final int valor, final String info) {
26
        DFIntegerValidador.intervalo(valor, 1000, 9999, info);
1✔
27
    }
1✔
28

29
    public static void tamanho3(final int valor, final String info) {
30
        DFIntegerValidador.limite(valor, 999, info);
1✔
31
    }
1✔
32

33
    public static void tamanho3maximo990(final int valor, final String info) {
34
        DFIntegerValidador.limite(valor, 990, info);
1✔
35
    }
1✔
36

37
    public static void exatamente6(final Integer valor, final String info) {
38
        DFIntegerValidador.intervalo(valor, 100000, 999999, info);
1✔
39
    }
1✔
40

41
    public static void tamanho6(final Integer valor, final String info) {
42
        DFIntegerValidador.limite(valor, 999999, info);
1✔
43
    }
1✔
44

45
    public static void exatamente1(final Integer valor, final String info) {
46
        DFIntegerValidador.limite(valor, 9, info);
1✔
47
    }
1✔
48

49
    public static void tamanho1a2(final int valor, final String info) {
50
        DFIntegerValidador.intervalo(valor, 1, 99, info);
1✔
51
    }
1✔
52

53
    public static void tamanho1a3(final int valor, final String info) {
54
        DFIntegerValidador.intervalo(valor, 1, 999, info);
×
55
    }
×
56

57
    public static void exatamente2(final Integer valor, final String info) {
58
        DFIntegerValidador.intervalo(valor, 10, 99, info);
1✔
59
    }
1✔
60
    public static void valor1(final Integer valor, final String info) {
61
        DFIntegerValidador.intervalo(valor, 1, 1, info);
×
62
    }
×
63
    private static void limite(final Integer valor, final int maximo, final String info) {
64
        if (valor != null && valor > maximo) {
1✔
65
            throw new NumberFormatException("Valor extrapolou o tamanho do campo " + info);
1✔
66
        }
67
    }
1✔
68

69
    private static void intervalo(final Integer valor, final int minimo, final int maximo, final String info) {
70
        if (valor != null && (valor < minimo || valor > maximo)) {
1✔
71
            throw new NumberFormatException(String.format("Valor %s tem tamanho fora do intervalo de [%s-%s]", info, minimo, maximo));
1✔
72
        }
73
    }
1✔
74
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc