@Test
public void testZeroGuarOverCap() {

  int[][] qData = new int[][] {
    //  /    A   B   C    D   E   F
       { 200, 100, 0, 99, 0, 100, 100 },  // abs
      { 200, 200, 200, 200, 200, 200, 200 },  // maxCap
      { 170,  170, 60, 20, 90, 0,  0 },  // used
      {  85,   50,  30,  10,  10,  20, 20 },  // pending
      {   0,   0,  0,  0,   0,  0,  0 },  // reserved
      {   4,   3,  1,  1,   1,  1,  1 },  // apps
      {  -1,  -1,  1,  1,  1,  -1,  1 },  // req granularity
      {   2,   3,  0,  0,   0,  1,  0 },  // subqueues
  };
  ProportionalCapacityPreemptionPolicy policy = buildPolicy(qData);
  policy.editSchedule();
  // we verify both that C has priority on B and D (has it has >0 guarantees)
  // and that B and D are force to share their over capacity fairly (as they
  // are both zero-guarantees) hence D sees some of its containers preempted
  verify(mDisp, times(15)).handle(argThat(new IsPreemptionRequestFor(appC)));
}