예제 #1
0
        public void Cenario_com_sucesso(RepositorioFuncionarios repositorio, Funcionario funcionario)
        {
            "Dado um repositorio"
            .Given(() => repositorio = _container.Create <RepositorioFuncionarios>());

            "E um funcionário com NIF não repetido"
            .And(() => funcionario = Funcionario.CriaVazio(new TipoFuncionario()));

            "E alguns mocks"
            .And(() => {
                _container.GetMock <IVerificadorNif>()
                .Setup(v => v.NifDuplicado(It.IsAny <string>(), It.IsAny <int>()))
                .Returns(false);
                _container.GetMock <ISession>()
                .Setup(s => s.SaveOrUpdate(It.IsAny <object>()));
            });

            "Quando gravamos o funcionário"
            .When(() => repositorio.Grava(funcionario));

            "Então~não obtemos exceção e serviço verificação é usado"
            .Then(() => {
                _container.GetMock <IVerificadorNif>().VerifyAll();
                _container.GetMock <ISession>().VerifyAll();
            });
        }
예제 #2
0
        public void SalarioMedioTodosOsFuncionarioEh233_68181818181819()
        {
            var    repositorioFuncionarios = new RepositorioFuncionarios();
            double salarioMedioManha       = repositorioFuncionarios.SalarioMedio();

            Assert.AreEqual(233.68181818181819, salarioMedioManha);
        }
예제 #3
0
        public void Cenario_sem_sucesso(RepositorioFuncionarios repositorio,
                                        Funcionario funcionario,
                                        InvalidOperationException excecaoEsperada)
        {
            "Dado um repositorio"
            .Given(() => repositorio = _container.Create <RepositorioFuncionarios>());

            "E um funcionário com NIF repetido"
            .And(() => funcionario = Funcionario.CriaVazio(new TipoFuncionario()));

            "E alguns mocks"
            .And(() => _container.GetMock <IVerificadorNif>()
                 .Setup(v => v.NifDuplicado(It.IsAny <string>(), It.IsAny <int>()))
                 .Returns(true));

            "Quando gravamos o funcionário"
            .When(() => {
                try {
                    repositorio.Grava(funcionario);
                }
                catch (InvalidOperationException ex) {
                    excecaoEsperada = ex;
                }
            });

            "Então obtemos uma exceção "
            .Then(() => excecaoEsperada.Should().NotBeNull());

            "e serviço verificação é usado"
            .And(() => _container.GetMock <IVerificadorNif>().VerifyAll());
        }
예제 #4
0
        public void FuncionariosOrdenadosPorCargo()
        {
            var dbFuncionarios = new RepositorioFuncionarios();

            IList <Funcionario> funcionariosOrdenadosPorCargo = dbFuncionarios.OrdenadosPorCargo();

            var resultadoEsperado = new int[]
            {
                3,
                8,
                5,
                1,
                2,
                7,
                4,
                6,
                9,
                10,
                11
            };

            var resultado = JsonConvert.SerializeObject(funcionariosOrdenadosPorCargo);

            Assert.IsTrue(funcionariosOrdenadosPorCargo.Select(x => x.Id).SequenceEqual(resultadoEsperado));
        }
예제 #5
0
        public void SalarioMedioTurnoManhaEh274_1()
        {
            var    repositorioFuncionarios = new RepositorioFuncionarios();
            double salarioMedioManha       = repositorioFuncionarios.SalarioMedio(TurnoTrabalho.Manha);

            Assert.AreEqual(274.1, salarioMedioManha);
        }
예제 #6
0
        public void BuscaPorTurnoManhaETardeRetorna9Registros()
        {
            var repositorioFuncionarios           = new RepositorioFuncionarios();
            IList <Funcionario> funcionariosManha = repositorioFuncionarios.BuscarPorTurno(TurnoTrabalho.Manha, TurnoTrabalho.Tarde);

            Assert.AreEqual(9, funcionariosManha.Count);
        }
예제 #7
0
        public void BuscarFuncionariosProximosDe30AnosRetorna4Registros()
        {
            var repositorioFuncionarios = new RepositorioFuncionarios();
            IList <Funcionario> funcionariosIdadeAprox = repositorioFuncionarios.FiltrarPorIdadeAproximada(30);

            Assert.AreEqual(5, funcionariosIdadeAprox.Count);
        }
        public void BuscaSemTurnoERetorna11Registros()
        {
            var repositorioFuncionarios           = new RepositorioFuncionarios();
            IList <Funcionario> funcionariosManha = repositorioFuncionarios.BuscarPorTurno();

            Assert.AreEqual(11, funcionariosManha.Count);
        }
예제 #9
0
        public void BuscarDesenvolvedoresPorCargo()
        {
            var repositorioFuncionarios = new RepositorioFuncionarios();
            IList <Funcionario> funcionariosPorCargo = repositorioFuncionarios.BuscarPorCargo(new Cargo(CARGO_DESENVOLVEDOR_JUNIOR, 190));

            Assert.AreEqual(8, funcionariosPorCargo.Count);
        }
예제 #10
0
        public void BuscouFuncionarioPorNome()
        {
            var repositorioFuncionarios = new RepositorioFuncionarios();

            IList <Funcionario> funcionarios = repositorioFuncionarios.BuscarPorNome("Zuck");

            Assert.AreEqual(1, funcionarios.Count);
            Assert.AreEqual("Mark Zuckerberg", funcionarios[0].Nome);
        }
예제 #11
0
        public void BuscaRapidaRetorna10Resultados()
        {
            var             repositorioFuncionarios = new RepositorioFuncionarios();
            IList <dynamic> buscaRapida             = repositorioFuncionarios.BuscaRapida();

            Assert.AreEqual(11, buscaRapida.Count);
            Assert.AreEqual("Marcelinho Carioca", buscaRapida[0].NomeFuncionario);
            Assert.AreEqual(CARGO_DESENVOLVEDOR_JUNIOR, buscaRapida[0].TituloCargo);
        }
예제 #12
0
        public void FuncionariosOrdenadosPorCargo()
        {
            var dbFuncionarios = new RepositorioFuncionarios();

            IList <Funcionario> funcionariosOrdenadosPorCargo = dbFuncionarios.OrdenadosPorCargo();

            var resultado         = JsonConvert.SerializeObject(funcionariosOrdenadosPorCargo);
            var resultadoEsperado = "[{\"Id\":3,\"Nome\":\"Aioros de Sagitário\",\"DataNascimento\":\"1991-08-15T00:00:00\",\"TurnoTrabalho\":2,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":8,\"Nome\":\"Arnold Schwarzenegger\",\"DataNascimento\":\"1989-09-16T00:00:00\",\"TurnoTrabalho\":1,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":5,\"Nome\":\"Barack Obama\",\"DataNascimento\":\"1990-03-07T00:00:00\",\"TurnoTrabalho\":0,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":1,\"Nome\":\"Marcelinho Carioca\",\"DataNascimento\":\"1995-01-24T00:00:00\",\"TurnoTrabalho\":0,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":2,\"Nome\":\"Mark Zuckerberg\",\"DataNascimento\":\"1991-04-25T00:00:00\",\"TurnoTrabalho\":1,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":7,\"Nome\":\"Optimus Prime\",\"DataNascimento\":\"1997-05-10T00:00:00\",\"TurnoTrabalho\":2,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":4,\"Nome\":\"Uchiha Madara\",\"DataNascimento\":\"1996-11-30T00:00:00\",\"TurnoTrabalho\":0,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":6,\"Nome\":\"Whindersson  Nunes\",\"DataNascimento\":\"1994-01-12T00:00:00\",\"TurnoTrabalho\":1,\"Cargo\":{\"Titulo\":\"Desenvolvedor Júnior\",\"Salario\":190.0}},{\"Id\":9,\"Nome\":\"Bill Gates\",\"DataNascimento\":\"1990-02-25T00:00:00\",\"TurnoTrabalho\":0,\"Cargo\":{\"Titulo\":\"Desenvolvedor Pleno\",\"Salario\":250.0}},{\"Id\":10,\"Nome\":\"Linus Torvalds\",\"DataNascimento\":\"1965-12-02T00:00:00\",\"TurnoTrabalho\":1,\"Cargo\":{\"Titulo\":\"Desenvolvedor Pleno\",\"Salario\":250.0}},{\"Id\":11,\"Nome\":\"Dollynho Developer\",\"DataNascimento\":\"1980-10-10T00:00:00\",\"TurnoTrabalho\":0,\"Cargo\":{\"Titulo\":\"Desenvolvedor Sênior\",\"Salario\":550.5}}]";

            Assert.AreEqual(resultado, resultadoEsperado);
        }
예제 #13
0
        public void AniversariantesDoMes()
        {
            var repositorioFuncionarios = new RepositorioFuncionarios();

            IList <Funcionario> aniversariantes = repositorioFuncionarios.AniversariantesDoMes();
            int mesAtual = DateTime.Now.Month;

            foreach (Funcionario funcionario in aniversariantes)
            {
                Assert.AreEqual(mesAtual, funcionario.DataNascimento.Month);
            }
        }
예제 #14
0
        public void FuncionarioMaisComplexoEhDollynhoDeveloper()
        {
            var repositorioFuncionarios = new RepositorioFuncionarios();

            dynamic funcionarioComplex = repositorioFuncionarios.FuncionarioMaisComplexo();

            Assert.AreEqual("Dollynho Developer", funcionarioComplex.Nome);
            Assert.AreEqual("10/10/1980", funcionarioComplex.DataNascimento);
            Assert.AreEqual("R$ 550,50", funcionarioComplex.SalarioRS);
            Assert.AreEqual("$550.50", funcionarioComplex.SalarioUS);
            Assert.AreEqual(1, funcionarioComplex.QuantidadeMesmoCargo);
        }
 public HomeController(ISession session,
                       RepositorioFuncionarios repositorioFuncionarios,
                       RepositorioTiposFuncionario repositorioTiposFuncionario)
 {
     Contract.Requires(session != null);
     Contract.Requires(repositorioFuncionarios != null);
     Contract.Requires(repositorioTiposFuncionario != null);
     Contract.Ensures(_session != null);
     Contract.Ensures(_repositorioFuncionarios != null);
     _session = session;
     _repositorioFuncionarios     = repositorioFuncionarios;
     _repositorioTiposFuncionario = repositorioTiposFuncionario;
 }
예제 #16
0
        public void BuscaQuantidadePorCargo()
        {
            var             repositorioFuncionarios        = new RepositorioFuncionarios();
            IList <dynamic> quantidadeFuncionariosPorTurno = repositorioFuncionarios.QuantidadeFuncionariosPorTurno();

            Assert.AreEqual(TurnoTrabalho.Manha, quantidadeFuncionariosPorTurno[0].Turno);
            Assert.AreEqual(5, quantidadeFuncionariosPorTurno[0].Quantidade);

            Assert.AreEqual(TurnoTrabalho.Tarde, quantidadeFuncionariosPorTurno[1].Turno);
            Assert.AreEqual(4, quantidadeFuncionariosPorTurno[1].Quantidade);

            Assert.AreEqual(TurnoTrabalho.Noite, quantidadeFuncionariosPorTurno[2].Turno);
            Assert.AreEqual(2, quantidadeFuncionariosPorTurno[2].Quantidade);
        }
        public void NumeroDeConsoantesDeMaciotaEh3()
        {
            var repositorioFuncionarios = new RepositorioFuncionarios();

            Assert.AreEqual(3, repositorioFuncionarios.GetNumeroDeConsoantes("Maciota"));
        }
 public FuncionarioController(RepositorioFuncionarios funcionario)
 {
     fun = funcionario;
 }
예제 #19
0
 public HomeController(ILogger <HomeController> logger, RepositorioFuncionarios funcionario)
 {
     _logger = logger;
     fun     = funcionario;
 }