Testes
Stack
O projeto de testes (Tests/MCIBr.Tests/) usa:
- xUnit
- Microsoft.NET.Test.Sdk
- coverlet.collector
Definições em Tests/MCIBr.Tests/MCIBr.Tests.csproj.
O que os testes garantem (exemplos concretos)
Arredondamento/truncamento e helpers
Arquivo: Tests/MCIBr.Tests/UtilsTests.cs
- Garante
ResolveValue(..., CalcType.Round, decimals)para casos comdecimalspositivo, zero e negativo - Garante
ResolveValue(..., CalcType.Truncate, decimals)paradecimalsde0..4 - Garante
IfThen.Condition(condition, whenTrue, whenFalse)
Vigência RT (datas e override)
Arquivo: Tests/MCIBr.Tests/VigenciaTests.cs
- Garante o comportamento em torno da data de início da CBS/IS (2027-01-01)
- Garante que o override de data altera o resultado das funções de vigência
- Garante transição de cálculo ICMS/PIS/COFINS versus IBS a partir de 2033-01-01
Cobertura de tributos (por arquivo)
Além dos exemplos acima, há diversos testes focados em cenários de ICMS/ICMS-ST/DIFAL/FCP, organizados por CST/CSOSN, por exemplo:
Csosn101IcmsTests.csCsosn201IcmsStTests.csCst00IcmsTests.csCst10IcmsStTests.cs
A interpretação de “comportamento esperado” deve ser sempre derivada do que os testes afirmam (Arrange/Act/Assert) em cada arquivo.