@Test
  public void shouldUpdateSingleEpoch() {
    storage.setEpoch(new long[] {1, 2, 3});
    storage.updateEpoch(10, 1);

    assertArrayEquals(new long[] {1, 10, 3}, storage.getEpoch());
  }
 @Test
 public void shouldThrowExceptionForInvalidEpoch() {
   storage.setEpoch(new long[] {1, 2, 3});
   try {
     storage.updateEpoch(5, 3);
   } catch (IllegalArgumentException e) {
     return;
   }
   fail();
 }
 @Test
 public void shouldUpdateEpoch() {
   storage.setEpoch(new long[] {3, 1, 2});
   storage.updateEpoch(new long[] {2, 2, 3});
   assertArrayEquals(new long[] {3, 2, 3}, storage.getEpoch());
 }
 @Test
 public void shouldAllowToSetEpoch() {
   long[] epoch = new long[] {3, 1, 2};
   storage.setEpoch(epoch);
   assertArrayEquals(epoch, storage.getEpoch());
 }