< Summary

Information
Class: FAU.Logica.Services.AguinaldoCalculator
Assembly: FAU.Logica
File(s): /home/runner/work/Sistema.Liquidacion.BE/Sistema.Liquidacion.BE/FAU.Logica/Services/AguinaldoCalculator.cs
Line coverage
100%
Covered lines: 23
Uncovered lines: 0
Coverable lines: 23
Total lines: 45
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

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

File(s)

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

#LineLine coverage
 1using FAU.Logica.DTOs;
 2
 3namespace FAU.Logica.Services;
 4
 5public class AguinaldoCalculator
 6{
 7    public AguinaldoSemestralDto Calcular(
 8        long personaId,
 9        string cedula,
 10        string nombreCompleto,
 11        short anio,
 12        short semestre,
 13        decimal totalHaberesGravadosSemestre,
 14        short mesesTrabajados,
 15        decimal tasaMontepio,
 16        decimal tasaSanidad)
 17    {
 418        var nominal = Math.Round(totalHaberesGravadosSemestre / 12m, 2);
 19
 420        var montepio = Math.Round(nominal * tasaMontepio, 2);
 421        var sanidad = Math.Round(nominal * tasaSanidad, 2);
 422        var totalDescuentos = Math.Round(montepio + sanidad, 2);
 23
 424        var liquidoExacto = nominal - totalDescuentos;
 425        var liquido = Math.Round(liquidoExacto, 0);
 426        var redondeo = liquido - liquidoExacto;
 27
 428        return new AguinaldoSemestralDto
 429        {
 430            PersonaId = personaId,
 431            Cedula = cedula,
 432            NombreCompleto = nombreCompleto,
 433            Anio = anio,
 434            Semestre = semestre,
 435            TotalHaberesGravadosSemestre = totalHaberesGravadosSemestre,
 436            MesesTrabajados = mesesTrabajados,
 437            Nominal = nominal,
 438            Montepio = montepio,
 439            Sanidad = sanidad,
 440            TotalDescuentos = totalDescuentos,
 441            Liquido = liquido,
 442            Redondeo = redondeo
 443        };
 44    }
 45}