@Test
	public void removeHistoricalOfProductsPurchasedOfCustomers() {
		List<Product> listClient = null;
		Map<Client, List<Product>> listAllClient = null;

		Product book = new Product("Book", 1234, 2.30, 100);
		Product table = new Product("Table", 1234, 2.30, 100);
		Client client = new Client("Diego", "3423-1435",
				"diego.sousa@dce.ufpb.br", 29, 9, 1988);

		facade.addClient(client);
		facade.addProduct(book);
		facade.buyProduct(client, book, 2);

		try {
			Thread.sleep(4000);
		} catch (InterruptedException e1) {
			e1.printStackTrace();
		}

		facade.getHistoricalCustomerPurchase(client,
				takerHistoricalOfProductsPurchasedOfCustomers);
		facade.getHistoricalPurchasesOfAllCustomer(copyHistoricalOfProductsPurchasedOfAllCustomers);

		try {
			listClient = takerHistoricalOfProductsPurchasedOfCustomers.take();
			listAllClient = copyHistoricalOfProductsPurchasedOfAllCustomers.take();

		} catch (InterruptedException e) {
			e.printStackTrace();
		}

		assertEquals(1, listClient.size());
		assertTrue(listClient.contains(book));
		assertFalse(listClient.contains(table));

		assertEquals(1, listAllClient.size());
		assertTrue(listAllClient.get(client).contains(book));

		listClient.clear();
		listAllClient.clear();

		facade.removeHistoricalCustomerPurchase(client);

		try {
			Thread.sleep(4000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}

		facade.getHistoricalPurchasesOfAllCustomer(copyHistoricalOfProductsPurchasedOfAllCustomers);

		try {
			listAllClient = copyHistoricalOfProductsPurchasedOfAllCustomers.take();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}

		assertEquals(0, listAllClient.size());
		assertFalse(listAllClient.containsKey(client));
		assertTrue(listAllClient.isEmpty());
	}