### Question:
KeltnerChannelLowerIndicator extends CachedIndicator<Num> { public KeltnerChannelLowerIndicator(KeltnerChannelMiddleIndicator keltnerMiddleIndicator, double ratio, int barCountATR) { super(keltnerMiddleIndicator); this.ratio = numOf(ratio); this.keltnerMiddleIndicator = keltnerMiddleIndicator; averageTrueRangeIndicator = new ATRIndicator(keltnerMiddleIndicator.getBarSeries(), barCountATR); } KeltnerChannelLowerIndicator(KeltnerChannelMiddleIndicator keltnerMiddleIndicator, double ratio,
            int barCountATR);   }### Answer:
@Test public void keltnerChannelLowerIndicatorTest() { KeltnerChannelMiddleIndicator km = new KeltnerChannelMiddleIndicator(new ClosePriceIndicator(data), 14); KeltnerChannelLowerIndicator kl = new KeltnerChannelLowerIndicator(km, 2, 14); assertNumEquals(11556.5468, kl.getValue(13)); assertNumEquals(11583.7971, kl.getValue(14)); assertNumEquals(11610.8331, kl.getValue(15)); assertNumEquals(11639.5955, kl.getValue(16)); assertNumEquals(11667.0877, kl.getValue(17)); assertNumEquals(11660.5619, kl.getValue(18)); assertNumEquals(11675.8782, kl.getValue(19)); assertNumEquals(11705.9497, kl.getValue(20)); assertNumEquals(11726.7208, kl.getValue(21)); assertNumEquals(11753.4154, kl.getValue(22)); assertNumEquals(11781.8375, kl.getValue(23)); assertNumEquals(11817.1476, kl.getValue(24)); assertNumEquals(11851.9771, kl.getValue(25)); assertNumEquals(11878.6139, kl.getValue(26)); assertNumEquals(11904.4570, kl.getValue(27)); assertNumEquals(11935.3907, kl.getValue(28)); assertNumEquals(11952.2012, kl.getValue(29)); }