Ejemplo n.º 1
0
        public IEnumerable <ContributorDto> CalculateIncomeTax(decimal salary)
        {
            var incomeTax    = new IncomeTax(salary);
            var contributors = _repository.Get().ToList();

            contributors.ForEach(x => incomeTax.CalculateIncomeTax(x));
            contributors = contributors.OrderBy(x => x.IncomeTax).ThenBy(x => x.Name).ToList();
            return(_mapper.Map <List <ContributorDto> >(contributors));
        }
Ejemplo n.º 2
0
        public void IsentoSemDependentes()
        {
            //Arrange
            var salarioMinimo = 954;
            var impostoRenda  = new IncomeTax(salarioMinimo);
            var contribuinte  = new Contributor("643.574.755-54", "Alexandre Dórea", 0, 1683.56m);

            //Act
            impostoRenda.CalculateIncomeTax(contribuinte);

            //Assert
            contribuinte.IncomeTax.Should().Be(0);
        }
Ejemplo n.º 3
0
        public void PrimeiraAliquotaSemDependentes()
        {
            //Arrange
            var salarioMinimo        = 954;
            var impostoRenda         = new IncomeTax(salarioMinimo);
            var contribuinte         = new Contributor("643.574.755-54", "Alexandre Dórea", 0, 1958.47m);
            var valorImpostoEsperado = 146.88525M;

            //Act
            impostoRenda.CalculateIncomeTax(contribuinte);

            //Assert
            contribuinte.IncomeTax.Should().Be(valorImpostoEsperado);
        }
Ejemplo n.º 4
0
        public void SegundaAliquotaComDependentes()
        {
            //Arrange
            var salarioMinimo        = 954;
            var impostoRenda         = new IncomeTax(salarioMinimo);
            var contribuinte         = new Contributor("643.574.755-54", "Alexandre Dórea", 1, 4800);
            var valorImpostoEsperado = 712.845m;

            //Act
            impostoRenda.CalculateIncomeTax(contribuinte);

            //Assert
            contribuinte.IncomeTax.Should().Be(valorImpostoEsperado);
        }
Ejemplo n.º 5
0
        public void QuartaAliquotaSemDependentes()
        {
            //Arrange
            var salarioMinimo        = 954;
            var impostoRenda         = new IncomeTax(salarioMinimo);
            var contribuinte         = new Contributor("643.574.755-54", "Alexandre Dórea", 0, 8765);
            var valorImpostoEsperado = 2410.375m;

            //Act
            impostoRenda.CalculateIncomeTax(contribuinte);

            //Assert
            contribuinte.IncomeTax.Should().Be(valorImpostoEsperado);
        }