SortedReplicas(Broker broker,
                 Set<Function<Replica, Boolean>> selectionFuncs,
                 List<Function<Replica, Integer>> priorityFuncs,
                 Function<Replica, Double> scoreFunction) {
    this(broker, null, selectionFuncs, priorityFuncs, scoreFunction, true);
  }
@Test
  public void testScoreFunctionOnly() {
    Broker broker = generateBroker(NUM_REPLICAS);
    broker.trackSortedReplicas(SORT_NAME, null, null, SCORE_FUNC);
    SortedReplicas sr = broker.trackedSortedReplicas(SORT_NAME);

    double lastScore = Double.NEGATIVE_INFINITY;
    for (Replica r : sr.sortedReplicas(false)) {
      assertTrue(SCORE_FUNC.apply(r) >= lastScore);
    }
  }