/// <summary> /// Configuración de escenario de pruebas no. 1. /// </summary> private void ConfiguracionEscenario1() { String titulo, isbn; int precio, cantidad1, cantidad2; // Crea el primer libro para pruebas: titulo = "T[itulo 1"; isbn = "ISBN 1"; precio = 1000; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 2"; isbn = "ISBN 2"; precio = 2000; libro2 = new Libro(isbn, titulo, precio); // Crea un ítem de compra: cantidad1 = 2; item1 = new ItemCompra(libro1, cantidad1); // Crea otro ítem de compra: cantidad2 = 3; item2 = new ItemCompra(libro2, cantidad2); // Crea el carro de compras con un ítem de compra: carrito = new CarroCompras(); carrito.AdicionarCompra(libro1, cantidad1); carrito.AdicionarCompra(libro2, cantidad2); }
/// <summary> /// Adiciona un libro como ítem en el carrito de compras. /// </summary> /// <param name="libro">Libro a agregar al carrito de compras.</param> /// <param name="cantidad">Cantidad de este libro a agregar.</param> public void AdicionarCompra(Libro libro, int cantidad) { // Busca un ítem de compra donde exista el libro: ItemCompra item = BuscarItemCompraLibro(libro.Isbn); // Si no existe ese libro en el carrito, crea el ítem y lo agrega: if (item == null) { ItemCompra nuevoItem = new ItemCompra(libro, cantidad); m_itemsCompra.Add(nuevoItem); } else { // Si ya existe, sólo aumenta la cantidad del pedido: item.CantidadSolicitada += cantidad; } }
/// <summary> /// Determina si este ítem de compra es igual a otro ítem de compra. /// </summary> /// <param name="item">Otro ítem de compra a comparar.</param> /// <returns><em>true</em> si los dos ítems son iguales, <em>false</em> en caso contrario.</returns> public bool IgualAItem(ItemCompra item) { return m_libro.IgualALibro(item.Libro); }
/// <summary> /// Borra un ítem de compra del carrito de compras. /// </summary> /// <param name="item">Ítem de compra a eliminar.</param> public void BorrarItemCompra(ItemCompra item) { ItemCompra itemAux = null; bool encontrado = false; // El índice para recorrer los elementos: int i = 0; int tamanio = m_itemsCompra.Count; // Avanza mientras no encuentre el libro en un ítem: while (i < tamanio && !encontrado) { itemAux = (ItemCompra)m_itemsCompra[i]; if (itemAux.IgualAItem(item)) { encontrado = true; } ++i; } if (encontrado) { m_itemsCompra.Remove(itemAux); } }
/// <summary> /// Configuración de escenario de pruebas no. 2. /// </summary> private void ConfiguracionEscenario2() { string titulo, isbn; int precio, cantidad1, cantidad2; // Crea el primer libro para pruebas: titulo = "Título 3"; isbn = "ISBN 3"; precio = 10000; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 4"; isbn = "ISBN 4"; precio = 20000; libro2 = new Libro(isbn, titulo, precio); // Crea un ítem de compra: cantidad1 = 20; item1 = new ItemCompra(libro1, cantidad1); // Crea otro ítem de compra: cantidad2 = 30; item2 = new ItemCompra(libro2, cantidad2); }
/// <summary> /// Configuración de escenario de pruebas no. 3. /// </summary> private void ConfiguracionEscenario3() { string titulo, isbn; int precio, cantidad1, cantidad2; // Obtiene los datos de prueba: // Crea el primer libro para pruebas: titulo = "Título 5"; isbn = "ISBN 5"; precio = 10; libro1 = new Libro(isbn, titulo, precio); // Crea el segundo libro para pruebas: titulo = "Título 6"; isbn = "ISBN 6"; precio = 20; libro2 = new Libro(isbn, titulo, precio); // Crea un ítem de compra: cantidad1 = 1; item1 = new ItemCompra(libro1, cantidad1); // Crea otro ítem de compra: cantidad2 = 2; item2 = new ItemCompra(libro2, cantidad2); }