package fr.umlv.shopping;

import java.util.ArrayList;
import java.util.Objects;

public class ShoppingCart {
  private final ArrayList<Book> cart = new ArrayList<>();

  public void add(Book book) {
    Objects.requireNonNull(book);
    cart.add(book);
  }

  public void remove(Book book) {
    Objects.requireNonNull(book);
    cart.remove(book);
  }

  public int price() {
    var sum = 0;
    for (var book : cart) {
      sum += book.price();
    }
    return sum;
  }

  @Override
  public String toString() {
    var builder = new StringBuilder();
    builder.append("--- Shopping cart ---\n");
    for (var book : cart) {
      builder.append(book).append("\n");
    }
    builder.append("---------------------");
    return builder.toString();
  }
}
