@Test
  public void addCab() {

    Cab one = new Cab("DL01HB001", 100020);
    ICabBookingSystem system = new CabBookingSystemImpl();
    system.addCab(one);
    system.addCab(one);
    Assert.assertEquals(system.getNumofCabsRunning(), 1);
  }
  @Test
  public void checkBooking() throws CabNotAvailableException {
    Cab one = new Cab("DL01HB001", 100020);
    Cab two = new Cab("DL01HB002", 100040);
    Cab three = new Cab("DL01HB003", 100060);
    Cab four = new Cab("DL01HB004", 100080);

    ICabBookingSystem system = new CabBookingSystemImpl();
    system.addCab(one);
    system.addCab(two);
    system.addCab(three);
    system.addCab(four);

    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.HOUR_OF_DAY, 10);
    String cab = system.requestForCab(new CabRequest("BR001", 100025, 100056, cal.getTime()));
    Assert.assertEquals(cab, "DL01HB001");

    cal = Calendar.getInstance();
    cal.add(Calendar.HOUR_OF_DAY, 11);
    cab = system.requestForCab(new CabRequest("BR002", 100056, 100022, cal.getTime()));
    Assert.assertEquals(cab, "DL01HB003");

    cal = Calendar.getInstance();
    cal.add(Calendar.HOUR_OF_DAY, 15);
    cab = system.requestForCab(new CabRequest("BR003", 100020, 100075, cal.getTime()));
    Assert.assertEquals(cab, "DL01HB003");

    cal = Calendar.getInstance();
    cal.add(Calendar.HOUR_OF_DAY, 15);
    cab = system.requestForCab(new CabRequest("BR004", 100040, 100056, cal.getTime()));
    Assert.assertEquals(cab, "DL01HB002");
  }