It would be good to determine a goal for this test case. I think many of the tests mentioned above (queue capacity expansion, new tasks starting as a previous wave finishes), are all adequately tested by the testcases in TestCapacityScheduler.
I think the original intent of this test case was primarily to define a smoke test that integrates the capacity scheduler with the M/R framework - particularly jobtracker - and make sure that submitted jobs get scheduled and run. Whether the right scheduling decisions are taken is testing the capacity scheduler, and that is already done (or can be done if missing) in TestCapacityScheduler.
So, what if we simply have one test case that runs small jobs requiring less, equal and more of the capacity of 2 queues (50%) each and just make sure they all run and complete successfully ? Would that be simple enough to work while retaining the original goal ?