public void TestCalculoDistribuicaoLucroTest()
        {
            List <Colaborador> listaColaboradores = new List <Colaborador>();
            Colaborador        colaborador        = new Colaborador {
                area         = "Tecnologia",
                cargo        = "Desenvolvedor",
                dataAdmissao = DateTime.Now.AddYears(-1),
                matricula    = "000001",
                nome         = "Matheus",
                salarioBruto = 1000.00
            };

            listaColaboradores.Add(colaborador);
            Mock <IColaboradores> mockIColaboradoresService = new Mock <IColaboradores>();

            mockIColaboradoresService.Setup(setup => setup.BuscarDadosColaboradores()).Returns(listaColaboradores);
            Mock <ICalculoDistribuicaoLucroColaborador> mockICalculoDistribuicaoLucroColaboradorService = new Mock <ICalculoDistribuicaoLucroColaborador>();

            mockICalculoDistribuicaoLucroColaboradorService.Setup(setup => setup.CalcularBonusColaboradorAnual(colaborador)).Returns(2000);
            CalculoDistribuicaoLucro calculoDistribuicaoLucroService = new CalculoDistribuicaoLucro(mockIColaboradoresService.Object, mockICalculoDistribuicaoLucroColaboradorService.Object);


            RetornoCalculoParticipacaoLucroColaboradores retornoDistribuicaoLucroController = calculoDistribuicaoLucroService.CalcularParticipacaoLucroColaboradores(2000000.00);


            mockIColaboradoresService.Verify(verify => verify.BuscarDadosColaboradores(), Times.Once);
            mockICalculoDistribuicaoLucroColaboradorService.Verify(verify => verify.CalcularBonusColaboradorAnual(colaborador), Times.Once);
            Assert.Equal(1998000, retornoDistribuicaoLucroController.saldoTotalDisponibilizado);
        }
Beispiel #2
0
        public RetornoCalculoParticipacaoLucroColaboradores CalcularParticipacaoLucroColaboradores(double totalDisponibilizado)
        {
            var dadosColaboradores = _colaboradores.BuscarDadosColaboradores();
            RetornoCalculoParticipacaoLucroColaboradores calculoParticipacaoLucroColaboradores = new RetornoCalculoParticipacaoLucroColaboradores
            {
                totalDisponibilizado      = totalDisponibilizado,
                saldoTotalDisponibilizado = totalDisponibilizado,
                totalFuncionarios         = dadosColaboradores.Count,
                participacoes             = new List <Participacao>()
            };

            foreach (Colaborador colaborador in dadosColaboradores)
            {
                var participacao = new Participacao
                {
                    matricula = colaborador.matricula,
                    nome      = colaborador.nome
                };

                participacao.valorParticipacao = _calculoDistribuicaoLucroColaborador.CalcularBonusColaboradorAnual(colaborador);
                calculoParticipacaoLucroColaboradores.saldoTotalDisponibilizado -= participacao.valorParticipacao;
                calculoParticipacaoLucroColaboradores.totalDistribuido          += participacao.valorParticipacao;

                calculoParticipacaoLucroColaboradores.participacoes.Add(participacao);
            }

            return(calculoParticipacaoLucroColaboradores);
        }