### Question:
StrengthBasedParameterOrder implements ParameterOrder { @Override public int[] getRemainingParameters(Int2IntMap parameters, int strength) { return IntStream.range(strength, parameters.size()).toArray(); }  @Override int[] getInitialParameters(Int2IntMap parameters, int strength); @Override int[] getRemainingParameters(Int2IntMap parameters, int strength);  }### Answer:
@Test void testRemainingParametersForSmallerStrength() { Int2IntMap parameters = new Int2IntArrayMap(new int[]{0, 1, 2, 3}, new int[]{2, 2, 2, 2}); int strength = 2; int[] remainingParameters = PARAMETER_ORDER.getRemainingParameters(parameters, strength); assertEquals(2, remainingParameters.length); assertArrayEquals(new int[]{2, 3}, remainingParameters); }
@Test void testRemainingParametersForEqualStrength() { Int2IntMap parameters = new Int2IntArrayMap(new int[]{0, 1, 2, 3}, new int[]{2, 2, 2, 2}); int strength = 4; int[] remainingParameters = PARAMETER_ORDER.getRemainingParameters(parameters, strength); assertEquals(remainingParameters.length, 0); assertArrayEquals(remainingParameters, new int[]{}); }
@Test void testRemainingParametersForHigherStrength() { Int2IntMap parameters = new Int2IntArrayMap(new int[]{0, 1, 2, 3}, new int[]{2, 2, 2, 2}); int strength = 5; int[] remainingParameters = PARAMETER_ORDER.getRemainingParameters(parameters, strength); assertEquals(remainingParameters.length, 0); assertArrayEquals(remainingParameters, new int[]{}); }