@Test
  public void testCanChangeStatus() {
    statusHolder.changeStatus("foo", DirectoryStatus.INDEXING);

    DirectoryStatus status = statusHolder.getStatus("foo");

    assertThat(status).isSameAs(DirectoryStatus.INDEXING);
  }
  @Test
  public void testHasNoAvailableAsDefaultStatus() {
    DirectoryStatus status = statusHolder.getStatus("foo");

    assertThat(status).isSameAs(DirectoryStatus.NOT_AVAILABLE);
  }
 @Test(expected = IllegalArgumentException.class)
 public void testChangeStatusFailsWithNullStatus() {
   statusHolder.changeStatus("foo", null);
 }
 @Test(expected = IllegalArgumentException.class)
 public void testChangeStatusFailsWithEmptyWhitespaceDirectory() {
   statusHolder.changeStatus(" ", DirectoryStatus.ERROR);
 }
 @Test(expected = IllegalArgumentException.class)
 public void testChangeStatusFailsWithNullDirectory() {
   statusHolder.changeStatus(null, DirectoryStatus.ERROR);
 }
 @Test(expected = IllegalArgumentException.class)
 public void testGetStatusFailsWithEmptyWhitespaceDirectory() {
   statusHolder.getStatus(" ");
 }
 @Test(expected = IllegalArgumentException.class)
 public void testGetStatusFailsWithNullDirectory() {
   statusHolder.getStatus(null);
 }