### Question:
TargetPeerRange { public int getRandomlySelectedPeersToAdd(final int currentRandomlySelectedPeerCount) { return currentRandomlySelectedPeerCount < minimumRandomlySelectedPeerCount ? minimumRandomlySelectedPeerCount - currentRandomlySelectedPeerCount : 0; } TargetPeerRange(
      final int addPeersWhenLessThan,
      final int dropPeersWhenGreaterThan,
      final int minimumRandomlySelectedPeerCount); int getPeersToAdd(final int currentPeerCount); int getPeersToDrop(final int currentPeerCount); int getRandomlySelectedPeersToAdd(final int currentRandomlySelectedPeerCount); int getRandomlySelectedPeersToDrop(
      final int currentRandomlySelectedPeerCount, final int currentTotalPeerCount);  }### Answer:
@Test void shouldAddRandomlySelectedPeersWhenCountIsBelowMinimum() { assertThat(new TargetPeerRange(5, 10, 5).getRandomlySelectedPeersToAdd(2)).isEqualTo(3); }
@Test void shouldAddRandomlySelectedPeersWhenCountIsBelowMinimumEvenWhenPeerLimitExceeded() { assertThat(new TargetPeerRange(5, 5, 10).getRandomlySelectedPeersToAdd(7)).isEqualTo(3); }
@Test void shouldNotAddRandomlySelectedPeersWhenCountIsEqualToMinimum() { assertThat(new TargetPeerRange(5, 10, 5).getRandomlySelectedPeersToAdd(5)).isZero(); }
@Test void shouldNotAddRandomlySelectedPeersWhenCountIsAboveMinimum() { assertThat(new TargetPeerRange(5, 10, 5).getRandomlySelectedPeersToAdd(6)).isZero(); }