private Library buildMockLibraryWithSetBookAmounts( int numberOfBooksAvailable, int numberOfBooksCheckedOut) { library = mock(Library.class); when(library.numberOfBooksInLibrary()).thenReturn(numberOfBooksAvailable); when(library.numberOfBooksCheckedOut()).thenReturn(numberOfBooksCheckedOut); for (int i = 0; i < numberOfBooksAvailable; i++) { when(library.bookIsAvailable(i)).thenReturn(true); } for (int i = 0; i < numberOfBooksCheckedOut; i++) { when(library.bookIsCheckedOut(i)).thenReturn(true); } return library; }
@Test public void shouldDisplayListOfBooksPresentInTheLibrary() { List<Book> listOfBooks = new ArrayList<Book>(); Book book1 = new Book("Java design patterns", "pankaj", 1887); Book book2 = new Book("Head First Java", "Bert", 1991); listOfBooks.add(book1); listOfBooks.add(book2); Library library = new Library(listOfBooks); Console console = mock(Console.class); MainMenuOption listBooksoption = new ListBooksOption(library, console); listBooksoption.doOperation(); verify(console).display(library.toString()); }
@Test public void testWarnsUserIfNoBooksAreAvailable() { when(library.numberOfBooksInLibrary()).thenReturn(0); checkoutBookMenuOperation.execute(library, console); verify(console).printMessage("There are no books available for checkout"); }
public void showDetailsOfMovie(Library movies) { ArrayList<LibraryItem> coll = movies.ListAvailableBooks(); System.out.format("%-25s%35s%35s%35s\n", "Name", "Director", "Years", "Rating"); console.display( "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"); for (LibraryItem movie : coll) { System.out.println(movie); } }
public void showDetailsOfBook(Library collection) { ArrayList<LibraryItem> coll = collection.ListAvailableBooks(); console.format("%-25s%25s%55s\n", "Name", "Author", "Years"); console.display( "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"); for (LibraryItem book : coll) { System.out.println(book); } }
private static void returnBook() { printLoanedBooks(); System.out.println("\nEnter the number of the book to be returned: "); int bookIndex = keyboard.nextInt(); try { library.getLoanedBooks().get(bookIndex).returnStock(); System.out.println("Thank you for returning the book."); } catch (StockNotOutException e) { System.out.println("That is not a valid book to return"); } }
private static void checkoutMovie() { printAvailableMovies(); System.out.println("Enter the number of the movie you would like to check out: "); int movieIndex = keyboard.nextInt(); try { library.getAvailableMovies().get(movieIndex).checkOut(currentUser); System.out.println("Thank you! Enjoy the movie"); } catch (StockNotAvailableException e) { System.out.println("That movie is not available"); } catch (InvalidLoginException e) { System.out.println("Library number and password do not match"); } }
@Test public void testListBooksDetails() { Session session = Session.createTestSession(); session.listItems(Library.createBookTestLibrary(), ""); assertThat( session .history(-2) .contains(String.format(Constants.bookFormatString, "Book 1", "Author 1", 1337, "0")), is(true)); assertThat( session .history(-2) .contains(String.format(Constants.bookFormatString, "Book 2", "Author 2", 1976, "1")), is(true)); }
private static void setupLibrary() { library = new Library(); library.add(new Book("Pride and Prejudice", "Jane Austen", 1813)); library.add(new Book("To Kill a Mockingbird", "Harper Lee", 1960)); library.add(new Book("The Great Gatsby", "F. Scott Fitzgerald", 1922)); library.add(new Book("Frankenstein", "Mary Shelley", 1818)); library.add(new Movie("The Godfather", 1972, "Francis Ford Coppola", 9)); library.add(new Movie("The Shawshank Redemption", 1994, "Frank Darabont", 10)); library.add(new Movie("Sharktopus", 2006, "Declan O'Brien", 1)); library.add(new Movie("Scooby Doo", 2002, "Raja Gosnell", 0)); UserRegistry registry = UserRegistry.getInstance(); User user = new User("123-4567", "password"); user.setEmail("test@localhost"); user.setPhone("+44 122 1111 444"); user.setName("Joe Bloggs"); registry.addUser(user); registry.addUser((new User("111-1111", "password", true))); }
private static void printAvailableMovies() { System.out.println("Available Movies: \n"); printList(library.getAvailableMovies()); }
private static void printLoanedBooks() { System.out.println("Loaned Books:\n"); printList(library.getLoanedBooks()); }
private static void whoHasBooks() { for (Book book : library.getLoanedBooks()) { System.out.println(book + " : " + book.loanedTo()); } }
private static void whoHasMovies() { for (Movie movie : library.getLoanedMovies()) { System.out.println(movie + " : " + movie.loanedTo()); } }
@Test public void testAvailableBookListPrintedOnExecute() { checkoutBookMenuOperation.execute(library, console); verify(console).printLibraryItemList(library.availableBooks()); }