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); }
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); }