@Test
public void testCountPath() {

  LeaseManager lm = new LeaseManager(makeMockFsNameSystem());
  lm.addLease("holder1", 1);
  assertThat(lm.countPath(), is(1L));
  lm.addLease("holder2", 2);
  assertThat(lm.countPath(), is(2L));
  lm.addLease("holder2", 2);                   // Duplicate addition
  assertThat(lm.countPath(), is(2L));
  assertThat(lm.countPath(), is(2L));
  // Remove a couple of non-existing leases. countPath should not change.
  lm.removeLease("holder2", stubInodeFile(3));
  lm.removeLease("InvalidLeaseHolder", stubInodeFile(1));
  assertThat(lm.countPath(), is(2L));
  INodeFile file = stubInodeFile(1);
  lm.reassignLease(lm.getLease(file), file, "holder2");
  assertThat(lm.countPath(), is(2L));          // Count unchanged on reassign
  lm.removeLease("holder2", stubInodeFile(2)); // Remove existing
  assertThat(lm.countPath(), is(1L));
}