Exemplo n.º 1
0
        public void DisminuirCantidadExistenteIngredientesProductoCompuestoTest()
        {
            //Preparar

            ProductoSimple ingrediente1      = new ProductoSimple("Pan de perro caliente", 2500, 3000, "Ingrediente");
            var            registroEntradaI1 = ingrediente1.RegistrarEntrada(10);

            ProductoSimple ingrediente2      = new ProductoSimple("Salchicha de perro caliente", 1000, 4000, "Ingrediente");
            var            registroEntradaI2 = ingrediente2.RegistrarEntrada(10);

            ProductoSimple ingrediente3      = new ProductoSimple("Lamina de queso", 1000, 4000, "Ingrediente");
            var            registroEntradaI3 = ingrediente3.RegistrarEntrada(10);

            List <ProductoSimple> ingredientes = new List <ProductoSimple>();

            ingredientes.Add(ingrediente1);
            ingredientes.Add(ingrediente2);
            ingredientes.Add(ingrediente3);


            var productoCompuesto = new ProductoCompuesto(nombre: "Perro Caliente Sencillo", precio: 7000);

            productoCompuesto.AñadirIngredientes(ingrediente1, 1);
            productoCompuesto.AñadirIngredientes(ingrediente2, 1);
            productoCompuesto.AñadirIngredientes(ingrediente3, 1);

            //Acción
            var registroSalida = productoCompuesto.SalidaProducto(1);

            //Verificación
            Assert.AreEqual(ingrediente1.Cantidad, 9);
            Assert.AreEqual(ingrediente2.Cantidad, 9);
            Assert.AreEqual(ingrediente3.Cantidad, 9);
        }
Exemplo n.º 2
0
        public void TengoQueDismuirLaCantidadDeIngredientesDeCadaProducto()
        {
            List <Producto> IngredientesEnsalada = new List <Producto>();
            var             tomate  = new ProductoSimple("123a", "tomate", 2, 1300, 1500);
            var             lechuga = new ProductoSimple("123b", "lechuga", 2, 1000, 1500);
            var             gaseosa = new ProductoSimple("123c", "Gaseosa", 2, 1000, 1500);
            var             productosEnInventrario = new List <Producto>();

            productosEnInventrario.Add(tomate);
            productosEnInventrario.Add(lechuga);
            IngredientesEnsalada.Add(tomate);
            IngredientesEnsalada.Add(lechuga);
            var ensalada = new ProductoCompuesto("123d", "Ensalada", 1, 4000, IngredientesEnsalada, productosEnInventrario);

            productosEnInventrario.Add(gaseosa);
            List <Producto> ensaladaConGaseosaComposicicion = new List <Producto>();

            ensaladaConGaseosaComposicicion.Add(ensalada);
            var gaseosa1 = new ProductoSimple("123c", "Gaseosa", 1, 1000, 1500);

            ensaladaConGaseosaComposicicion.Add(gaseosa1);
            var ensaladaConGaseosaCombo = new ProductoCompuesto("123d", "EnsaladaConGaseosa", 1, 4000, ensaladaConGaseosaComposicicion, productosEnInventrario);
            //inventario.RegistrarSalidaProductoCompuesto(combo);
            var resultado = ensaladaConGaseosaCombo.RegistrarSalidaProducto(2);

            Assert.AreEqual("Salida registrada EnsaladaConGaseosa, cantidad 2 precio 8000", resultado);
        }
Exemplo n.º 3
0
        public void CantidadSalidaMayorACeroProductoCompuestoTest()
        {
            //Preparar

            ProductoSimple ingrediente1      = new ProductoSimple("Pan de perro caliente", 2500, 3000, "Ingrediente");
            var            registroEntradaI1 = ingrediente1.RegistrarEntrada(10);

            ProductoSimple ingrediente2      = new ProductoSimple("Salchicha de perro caliente", 1000, 4000, "Ingrediente");
            var            registroEntradaI2 = ingrediente2.RegistrarEntrada(10);

            ProductoSimple ingrediente3      = new ProductoSimple("Lamina de queso", 1000, 4000, "Ingrediente");
            var            registroEntradaI3 = ingrediente3.RegistrarEntrada(10);

            List <ProductoSimple> ingredientes = new List <ProductoSimple>();

            ingredientes.Add(ingrediente1);
            ingredientes.Add(ingrediente2);
            ingredientes.Add(ingrediente3);


            var productoCompuesto = new ProductoCompuesto(nombre: "Perro Caliente Sencillo", precio: 7000);

            productoCompuesto.AñadirIngredientes(ingrediente1, 1);
            productoCompuesto.AñadirIngredientes(ingrediente2, 1);
            productoCompuesto.AñadirIngredientes(ingrediente3, 1);
            //Acción
            var registroSalida = productoCompuesto.SalidaProducto(0);

            //Verificación

            Assert.AreEqual("No se puede vender un producto con cantidad menor o igual a cero", registroSalida);
        }
Exemplo n.º 4
0
        public static ProductoCompuesto CrearProductoCompuestoComplejo()
        {
            var ingredientes          = new List <Producto>();
            var productosEnInventario = new List <Producto>();
            var tomateInv             = new ProductoSimple("123a", "tomate", 5, 1300, 1500);
            var lechugaInv            = new ProductoSimple("123b", "lechuga", 5, 1000, 1500);
            var gaseosaInv            = new ProductoSimple("123c", "Gaseosa", 5, 1000, 1500);
            var tomate  = new ProductoSimple("123a", "tomate", 1, 1300, 1500);
            var lechuga = new ProductoSimple("123b", "lechuga", 1, 1000, 1500);
            var gaseosa = new ProductoSimple("123c", "Gaseosa", 1, 1000, 1500);

            productosEnInventario.Add(tomateInv);
            productosEnInventario.Add(lechugaInv);
            ingredientes.Add(tomate);
            ingredientes.Add(lechuga);
            var ensalada = new ProductoCompuesto("123d", "Ensalada", 1, 4000, ingredientes, productosEnInventario);
            var ingredientesEnsaladaConGaseosa = new List <Producto>();

            ingredientesEnsaladaConGaseosa.Add(ensalada);
            ingredientesEnsaladaConGaseosa.Add(gaseosa);
            productosEnInventario.Add(gaseosaInv);
            var ensaladaConGaseosa = new ProductoCompuesto("123adss", "Ensalada Con Gaseosa", 1, 4000,
                                                           ingredientesEnsaladaConGaseosa, productosEnInventario);

            return(ensaladaConGaseosa);
        }
Exemplo n.º 5
0
        public ProductoCompuesto Find(object id)
        {
            var producto = new ProductoCompuesto("pan sencillo", 13, 5000, 3500);
            var list     = new List <ProductoSimple>();

            list.Add(new ProductoSimple("Queso", 50, 700, 500));
            list.Add(new ProductoSimple("Pan", 30, 1000, 600));
            list.Add(new ProductoSimple("Salchicha", 40, 800, 500));

            producto.ListaProductos(list);

            return(producto);
        }
        public static ProductoCompuesto CreateProductoCompuesto(string nombre)
        {
            var producto = new ProductoCompuesto(nombre, 13, 5000, 3500);
            var list     = new List <ProductoSimple>();

            list.Add(new ProductoSimple("Queso", 50, 700, 500));
            list.Add(new ProductoSimple("Pan", 30, 1000, 600));
            list.Add(new ProductoSimple("Salchicha", 40, 800, 500));

            producto.ListaProductos(list);

            return(producto);
        }
Exemplo n.º 7
0
        public void PuedeSoloicitarExistenciaMayorALaExistenciaDelProductoYMayorACero()
        {
            //ARRANGE //PREPARAR // DADO // GIVEN
            var list = new List <ProductoSimple>();

            list.Add(new ProductoSimple("Queso", 50, 700, 500));
            list.Add(new ProductoSimple("Pan", 30, 1000, 600));
            list.Add(new ProductoSimple("Salchicha", 40, 800, 500));

            var producto = new ProductoCompuesto("PERRO CALIENTE", 0, 0, 0);

            producto.ListaProductos(list);
            // ACT // ACCION // CUANDO // WHEN
            var resultado = producto.Salida(2);

            //ASSERT //AFIRMACION //ENTONCES //THEN
            Assert.AreEqual("Venta Exitosa", resultado);
        }
Exemplo n.º 8
0
        public void NoPuedeIngresarExistenciaMenorOIgualACero()
        {
            //ARRANGE //PREPARAR // DADO // GIVEN
            var list = new List <ProductoSimple>();

            list.Add(new ProductoSimple("Queso", 50, 700, 500));
            list.Add(new ProductoSimple("Pan", 30, 1000, 600));
            list.Add(new ProductoSimple("Salchicha", 40, 800, 500));

            var producto = new ProductoCompuesto("PERRO CALIENTE", 0, 0, 0);

            producto.ListaProductos(list);
            // ACT // ACCION // CUANDO // WHEN
            var resultado = producto.Salida(0);

            //ASSERT //AFIRMACION //ENTONCES //THEN
            Assert.AreEqual("Registro Fallido, Existencia Solicitada: 0", resultado);
        }
Exemplo n.º 9
0
        public void ElCostoDeLosProductosCorrespondeAlCostodeSusIngredientes()
        {
            List <Producto> IngredientesEnsalada = new List <Producto>();
            var             tomate  = new ProductoSimple("123a", 1500, 1000, 1, "tomate");
            var             lechuga = new ProductoSimple("123b", 1500, 1000, 1, "lechuga");
            var             gaseosa = new ProductoSimple("123c", 1500, 1300, 1, "Gaseosa");

            IngredientesEnsalada.Add(tomate);
            IngredientesEnsalada.Add(lechuga);
            var             ensalada = new ProductoCompuesto("123d", 4000, 1, "Ensalada", IngredientesEnsalada);
            List <Producto> ensaladaConGaseosaComposicicion = new List <Producto>();

            ensaladaConGaseosaComposicicion.Add(ensalada);
            ensaladaConGaseosaComposicicion.Add(gaseosa);
            var ensaladaConGaseosaCombo = new ProductoCompuesto("123d", 4000, 1, "EnsaladaConGaseosa", ensaladaConGaseosaComposicicion);
            var resultado = "El costo es: $" + ensaladaConGaseosaCombo.CalcularCosto();

            Assert.AreEqual("El costo es: $3300", resultado);
        }
        public void PuedoRegistrarLaSalidaDeProducto()
        {
            var ensalada   = ProductoCompuestoMother.CrearProducto();
            var gaseosa    = new ProductoSimple("sadad", "gaseosa", 1, 100, 200);
            var gaseosaInv = new ProductoSimple("sadad", "gaseosa", 5, 100, 200);
            var ing        = new List <Producto>();

            ing.Add(ensalada);
            ing.Add(gaseosa);
            var ensaladaConG = new ProductoCompuesto("dasd", "ensaladaconG", 1, 2, ing, ensalada.ProductosEnInventario);

            _productoRepository.Add(ensaladaConG);
            _productoRepository.AddRange(ensalada.ProductosEnInventario);
            _productoRepository.Add(gaseosaInv);
            _dbContext.SaveChanges();
            var request   = new SalidaProductoRequest("Compuesto", ensaladaConG.Codigo, 1);
            var resultado = _registrarSalidaProductoService.Handle(request);

            Assert.AreEqual("se registro la salida de 1 ensaladaconG", resultado);
        }
Exemplo n.º 11
0
        public void SalidaCompuestaDebeDisminuirCantidad()
        {
            ProductoSimple salchicha = new ProductoSimple("001", "Salchicha", 1000, 0, "Preparacion");
            ProductoSimple pan       = new ProductoSimple("002", "Pan", 500, 0, "Preparacion");

            salchicha.RegistrarEntrada(10);
            pan.RegistrarEntrada(10);
            List <Producto> ingredientes = new List <Producto>()
            {
                salchicha, pan
            };

            Producto perroCaliente = new ProductoCompuesto("003", "PerroCaliente", 5000, ingredientes);

            //Act
            var respuesta = perroCaliente.RegistrarSalida(2);


            //Assert
            Assert.AreEqual("Nueva salida: PerroCaliente, cantidad:2, costo:1500, precio:5000", respuesta);
        }
Exemplo n.º 12
0
 public void Update(ProductoCompuesto entity)
 {
     throw new NotImplementedException();
 }