@Test
	public void testGetBooks() {
		Integer testISBN = 400;
		Set<StockBook> booksToAdd = new HashSet<StockBook>();
		booksToAdd.add(new ImmutableStockBook(testISBN, "Book Name",
				"Book Author", (float) 100, 5, 0, 0, 0, false));
		try {
			storeManager.addBooks(booksToAdd);
		} catch (BookStoreException e) {
			e.printStackTrace();
		}

		Set<Integer> ISBNList = new HashSet<Integer>();
		ISBNList.add(testISBN);
		List<Book> books = null;
		try {
			books = client.getBooks(ISBNList);
		} catch (BookStoreException e) {
			e.printStackTrace();
			fail();
		}
		for (Book b : books) {
			if (b.getISBN() == testISBN) {
				assertTrue("Book ISBN", b.getISBN() == testISBN);
				assertTrue("Book Price", b.getPrice() == 100);
			}
		}
		List<StockBook> listBooks = null;
		try {
			listBooks = storeManager.getBooks();
		} catch (BookStoreException e) {
			e.printStackTrace();
			fail();
		}

		Boolean exceptionThrown = false;
		ISBNList = new HashSet<Integer>();
		ISBNList.add(-1);
		try {
			books = client.getBooks(ISBNList);
		} catch (BookStoreException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		List<StockBook> currentList = null;
		try {
			currentList = storeManager.getBooks();
			assertTrue(currentList.equals(listBooks));
		} catch (BookStoreException e) {
			e.printStackTrace();
			fail();
		}

		exceptionThrown = false;
		ISBNList = new HashSet<Integer>();
		ISBNList.add(10000000);
		try {
			books = client.getBooks(ISBNList);
		} catch (BookStoreException e) {
			exceptionThrown = true;
		}
		assertTrue(exceptionThrown);
		try {
			currentList = storeManager.getBooks();
			assertTrue(currentList.equals(listBooks));
		} catch (BookStoreException e) {
			e.printStackTrace();
			fail();
		}
	}