Esempio n. 1
0
 public PedidoTest()
 {
     _pedidoBusiness = new PedidoBusiness();
     _pedido         = new Pedido();
     _pedidoPizza    = new PedidoPizza();
     _pizza          = new Pizza();
 }
        public void DadoPedidoComInformacaoValidaDeveIncluirNoBanco()
        {
            //Arrange
            var pedidoId  = Guid.NewGuid();
            var clienteId = Guid.NewGuid();
            var cliente   = new Cliente()
            {
                Id       = clienteId,
                Nome     = "Carlos",
                Endereco = "Rua Teste",
            };

            var pedidoPizza       = new PedidoPizza();
            var listaPedidoPizzas = new List <PedidoPizza>();
            var pizza             = new Pizza();

            pizza.Valor = 50;

            for (int i = 0; i < 2; i++)
            {
                pedidoPizza.TipoPizza = TipoPizza.Meia;
                pedidoPizza.Pizza     = pizza;
                listaPedidoPizzas.Add(pedidoPizza);
            }

            var pedido = new Pedido()
            {
                Id           = pedidoId,
                ClienteId    = clienteId,
                PedidoPizzas = listaPedidoPizzas
            };

            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase("DbHungryPizzaContext")
                          .Options;
            var contexto          = new ApplicationDbContext(options);
            var clienteRepository = new ClienteRepository(contexto);
            var pedidoRepository  = new PedidoRepository(contexto);

            var notificador    = new Notificador();
            var clienteService = new ClienteService(clienteRepository, notificador);
            var pedidoService  = new PedidoService(pedidoRepository, clienteRepository, notificador);

            //Act
            var retornoCliente = clienteService.Adicionar(cliente);
            var retornoPedido  = pedidoService.Adicionar(pedido);

            //Assert
            var cadastroPedido = pedidoRepository.ObterPorId(pedidoId);

            Assert.NotNull(cadastroPedido.Result);
        }
Esempio n. 3
0
        private Pedido generarPedido(out bool pedidoYaCreado)
        {
            pedidoYaCreado = false;
            //generamos el random para saber a que pedido pertenece
            Double random = Aleatorio.getInstancia().NextDouble();
            Pedido pedido;

            if (random < 0.2d)
            {
                pedido = buscarPedidoDisponible(typeof(PedidoSandwich), 1);


                if (pedido == null)
                {
                    //Genero una docena de sanguches
                    pedido = new PedidoSandwich(mediaSandwich, desviacionSandwich);
                    actual.sandwichPreparados++;
                }
                else
                {
                    pedidoYaCreado = true;
                }
            }
            else if (0.2d < random && random < 0.6d)
            {
                pedido = buscarPedidoDisponible(typeof(PedidoPizza), 1);

                if (pedido == null)
                {
                    //Genero un pedido pizza
                    pedido = new PedidoPizza(a_pizza, b_pizza);
                    actual.pizzasPreparadas++;
                }
                else
                {
                    pedidoYaCreado = true;
                }
            }
            else if (0.6 < random && random < 0.9d)
            {
                pedido = new PedidoEmpanadas(mediaEmpanadas);

                Pedido pedidoAux = buscarPedidoDisponible(typeof(PedidoEmpanadas), pedido.getCantidad());

                //genero un pedido de empanadas


                if (pedidoAux == null)
                {
                    actual.empanadasPreparadas += pedido.getCantidad();
                }
                else
                {
                    pedido         = pedidoAux;
                    pedidoYaCreado = true;
                }
            }
            else if (0.9d < random && random < 0.95d)
            {
                pedido = buscarPedidoDisponible(typeof(PedidoHamburguesa), 1);

                if (pedido == null)
                {
                    //Genero un pedido de hamburguesas
                    pedido = new PedidoHamburguesa();
                    actual.hamburguesasPreparados++;
                }
                else
                {
                    pedidoYaCreado = true;
                }
            }
            else
            {
                pedido = buscarPedidoDisponible(typeof(PedidoLomito), 1);

                if (pedido == null)
                {
                    //Genero un pedido de lomito
                    pedido = new PedidoLomito();
                    actual.lomitosPreparados++;
                }
                else
                {
                    pedidoYaCreado = true;
                }
            }

            //asigno nro de pedido y agrego el pedido a la lista de pedidos
            pedido.numeroPedido = numeroPedido++;

            pedido.momentoInicio = actual.reloj;

            actual.pedidos.Add(pedido);

            return(pedido);
        }