@Test
/** Tests the logic for creating an initial checkpoint for bootstrapping */
public void testStartBootstrap()
{

  //one source
  BootstrapCheckpointHandler handler = new BootstrapCheckpointHandler(ONE_SOURCE);
  Checkpoint cp1 = handler.createInitialBootstrapCheckpoint(null, 0L);
  assertStartBootstrapCheckpoint(handler, cp1, ONE_SOURCE[0], 0L);
  //two sources
  handler = new BootstrapCheckpointHandler(TWO_SOURCES);
  Checkpoint cp2 = handler.createInitialBootstrapCheckpoint(null, (long)Integer.MAX_VALUE + 5);
  assertStartBootstrapCheckpoint(handler, cp2, TWO_SOURCES.get(0), (long)Integer.MAX_VALUE + 5);
  //three sources
  handler = new BootstrapCheckpointHandler(THREE_SOURCES);
  Checkpoint cp3 = handler.createInitialBootstrapCheckpoint(null, Long.MAX_VALUE);
  assertStartBootstrapCheckpoint(handler, cp3, THREE_SOURCES[0], Long.MAX_VALUE);
  //invalid sinceScn
  try
  {
    handler.createInitialBootstrapCheckpoint(null, -1L);
    Assert.fail("DatabusRuntimeException expected");
  }
  catch (DatabusRuntimeException e)
  {
    //OK
  }
}