// tests statistic of SMPP load balancer
  @Test
  public void testStatisticVariable() {
    int clientNumbers = 3;
    clientHandlerArray = new DefaultSmppClientHandler[clientNumbers];
    int smsNumber = 1;
    Locker locker = new Locker(clientNumbers);

    for (int i = 0; i < clientNumbers; i++) new Load(i, smsNumber, locker).start();

    try {
      Thread.sleep(2000);
    } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    activeConnections = balancer.getNumberOfActiveSmppConnections();
    locker.waitForClients();
    assertEquals(348, balancer.getNumberOfSmppBytesToServer());
    assertEquals(198, balancer.getNumberOfSmppBytesToClient());
    assertEquals(clientNumbers * 3, balancer.getNumberOfSmppRequestsToServer());
    assertEquals(
        clientNumbers, balancer.getSmppRequestsProcessedById(SmppConstants.CMD_ID_SUBMIT_SM));
    assertEquals(
        clientNumbers, balancer.getSmppResponsesProcessedById(SmppConstants.CMD_ID_SUBMIT_SM_RESP));
    assertEquals(clientNumbers * 2, activeConnections);
  }
 @Test
 public void testRebind() {
   Locker locker = new Locker(clientNumbers);
   // start client
   new Load(locker, 2).start();
   locker.waitForClients();
   boolean isCorrectEnqLinkRequest = false;
   for (DefaultSmppServerHandler handler : serverHandlerArray)
     if (handler.getSmsNumber() == 6) isCorrectEnqLinkRequest = true;
   assertTrue(isCorrectEnqLinkRequest);
 }