package cat.hack3.codingtests.marsrover; public class MapIncrementalPositionResolver { private final int firstPositionInMap; private final int incrementUnit; public MapIncrementalPositionResolver(int firstPositionInMap, int incrementUnit) { this.firstPositionInMap = firstPositionInMap; this.incrementUnit = incrementUnit; } int getIncrementedPosition(int currentPosition, int threshold) { return currentPosition + incrementUnit > threshold ? firstPositionInMap : ++currentPosition; } int getDecrementedPosition(int currentPosition, int threshold) { return currentPosition - incrementUnit < firstPositionInMap ? threshold : --currentPosition; } }