### Question:
SmoothHighLowSolver implements HighLowSolver { @Override public Boolean lowerHigh( SortedMap<Integer, Double> data, int smoothingPeriod, double minimumSurfaceOfChange, Greed greed, SortedMap<Integer, Double> _higherHighs, List<Line<Integer, Double>> _expertTangent, Double lowestStart, Double highestStart, Double lowestEnd, Double highestEnd, Double minSlope, Double maxSlope) { if (lowestStart.isNaN()) lowestStart = -Double.MAX_VALUE; if (highestStart.isNaN()) highestStart = Double.MAX_VALUE; if (lowestEnd.isNaN()) lowestEnd = -Double.MAX_VALUE; if (highestEnd.isNaN()) highestEnd = Double.MAX_VALUE; if (minSlope.isNaN()) minSlope = 0d; if (maxSlope.isNaN()) maxSlope = Double.MAX_VALUE; Boolean lh = calculateLHAndHL( peak, superiorOrEqual, inferior, data, smoothingPeriod, minimumSurfaceOfChange, greed, _higherHighs, _expertTangent, lowestStart, highestStart, lowestEnd, highestEnd, minSlope, maxSlope); return lh; }  @Override Boolean higherHigh(
			SortedMap<Integer, Double> data, int smoothingPeriod, double minimumSurfaceOfChange, Greed greed,
			SortedMap<Integer, Double> _higherHighs, List<Line<Integer, Double>> _expertTangent,
			Double lowestStart, Double highestStart, Double lowestEnd, Double highestEnd,
			Double minSlope, Double maxSlope); @Override Boolean lowerLow(
			SortedMap<Integer, Double> data, int smoothingPeriod, double minimumSurfaceOfChange, Greed greed,
			SortedMap<Integer, Double> _higherHighs, List<Line<Integer, Double>> _expertTangent,
			Double lowestStart, Double highestStart, Double lowestEnd, Double highestEnd,
			Double minSlope, Double maxSlope); @Override Boolean higherLow(
			SortedMap<Integer, Double> data, int smoothingPeriod, double minimumSurfaceOfChange, Greed greed,
			SortedMap<Integer, Double> _higherHighs, List<Line<Integer, Double>> _expertTangent,
			Double lowestStart, Double highestStart, Double lowestEnd, Double highestEnd,
			Double minSlope, Double maxSlope); @Override Boolean lowerHigh(
			SortedMap<Integer, Double> data, int smoothingPeriod, double minimumSurfaceOfChange, Greed greed,
			SortedMap<Integer, Double> _higherHighs, List<Line<Integer, Double>> _expertTangent,
			Double lowestStart, Double highestStart, Double lowestEnd, Double highestEnd,
			Double minSlope, Double maxSlope); @Override Boolean flatHigh(
			SortedMap<Integer, Double> data, int smoothingPeriod, double minimumSurfaceOfChange,
			SortedMap<Integer, Double> _higherHighs, List<Line<Integer, Double>> _expertTangent,
			Double lowestStart, Double highestStart, Double tolerance
			); @Override Boolean flatLow(
			SortedMap<Integer, Double> data, int smoothingPeriod, double minimumSurfaceOfChange,
			SortedMap<Integer, Double> _higherHighs, List<Line<Integer, Double>> _expertTangent,
			Double lowestStart, Double highestStart, Double tolerance
			);  }### Answer:
@Test public void lowerHigh() { }