This test-case is failing sporadically on my machine. I think I have a plausible explanation for this.
It seems that when the Scheduler is being asked for resources, the resource requests that are being constructed have no preference for the hosts (nodes).
The two mock hosts constructed, both have a memory of 8192 mb.
The containers(resources) being requested each require a memory of 1024mb, hence a single node can execute both the resource requests for the application.
In the end of the test-case it is being asserted that the containers (resource requests) be executed on different nodes, but since we haven't specified any preferences for nodes when requesting the resources, the scheduler (at times) executes both the containers (requests) on the same node.