public void buildEnv(String labelsConfig, String nodesConfig, String queuesConfig, String appsConfig, boolean useDominantResourceCalculator) throws IOException { if (useDominantResourceCalculator) { when(cs.getResourceCalculator()).thenReturn( new DominantResourceCalculator()); } mockNodeLabelsManager(labelsConfig); mockSchedulerNodes(nodesConfig); for (NodeId nodeId : nodeIdToSchedulerNodes.keySet()) { when(cs.getSchedulerNode(nodeId)).thenReturn( nodeIdToSchedulerNodes.get(nodeId)); } List<FiCaSchedulerNode> allNodes = new ArrayList<>( nodeIdToSchedulerNodes.values()); when(cs.getAllNodes()).thenReturn(allNodes); ParentQueue root = mockQueueHierarchy(queuesConfig); when(cs.getRootQueue()).thenReturn(root); when(cs.getClusterResource()).thenReturn(clusterResource); mockApplications(appsConfig); policy = new ProportionalCapacityPreemptionPolicy(rmContext, cs, mClock); }