< Summary

Information
Class: FAU.Logica.Services.AguinaldoBajaCalculator
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/Services/AguinaldoBajaCalculator.cs
Line coverage
100%
Covered lines: 19
Uncovered lines: 0
Coverable lines: 19
Total lines: 37
Line coverage: 100%
Branch coverage
100%
Covered branches: 2
Total branches: 2
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
Calcular(...)100%22100%

File(s)

/home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/Services/AguinaldoBajaCalculator.cs

#LineLine coverage
 1using FAU.Logica.DTOs;
 2
 3namespace FAU.Logica.Services;
 4
 5public class AguinaldoBajaCalculator
 6{
 7    public AguinaldoBajaResultado Calcular(
 8        decimal totalHaberesGravados,
 9        short mesesComputados,
 10        decimal tasaMontepio,
 11        decimal tasaSanidad)
 12    {
 313        var nominal = Math.Round(totalHaberesGravados / 12m, 2);
 14
 315        var montepio = Math.Round(nominal * tasaMontepio, 2);
 316        var sanidad = Math.Round(nominal * tasaSanidad, 2);
 317        var totalDescuentos = Math.Round(montepio + sanidad, 2);
 18
 319        var liquidoExacto = nominal - totalDescuentos;
 420        if (liquidoExacto < 0) liquidoExacto = 0m;
 21
 322        var liquido = Math.Round(liquidoExacto, 0);
 323        var redondeo = liquido - liquidoExacto;
 24
 325        return new AguinaldoBajaResultado
 326        {
 327            TotalHaberesGravados = totalHaberesGravados,
 328            MesesComputados = mesesComputados,
 329            Nominal = nominal,
 330            Montepio = montepio,
 331            Sanidad = sanidad,
 332            TotalDescuentos = totalDescuentos,
 333            Liquido = liquido,
 334            Redondeo = redondeo
 335        };
 36    }
 37}