package library;

import java.time.LocalDate;

public class LibraryDemo {
    public static void main(String[] args) {
        Book tales = new Book("0001", "Cuentos del Rímac", "Rosa Quispe");
        Library lib = new Library();
        lib.addCopy(new Copy("B-001", tales));
        lib.addCopy(new Copy("B-002", tales));
        Member alice = new Member("S-17", "Alice");
        lib.addMember(alice);

        LocalDate today = LocalDate.of(2026, 9, 1);
        Loan loan = lib.lend(lib.findCopy("B-001"), alice, today);
        IO.println("vence el " + loan.due() + "; disponibles: " + lib.availableCopies(tales));
        IO.println("¿vencido el 10 de septiembre? " + loan.isOverdue(LocalDate.of(2026, 9, 10)));
        IO.println("¿vencido el 20 de septiembre? " + loan.isOverdue(LocalDate.of(2026, 9, 20)));
        lib.giveBack(loan);
        IO.println("devuelto; disponibles: " + lib.availableCopies(tales)
                + ", préstamos de " + alice.name() + ": " + alice.activeLoanCount());
    }
}
