### Question:
IsHighestRule extends AbstractRule { @Override public boolean isSatisfied(int index, TradingRecord tradingRecord) { HighestValueIndicator highest = new HighestValueIndicator(ref, barCount); Num highestVal = highest.getValue(index); Num refVal = ref.getValue(index); final boolean satisfied = !refVal.isNaN() && !highestVal.isNaN() && refVal.equals(highestVal); traceIsSatisfied(index, satisfied); return satisfied; } IsHighestRule(Indicator<Num> ref, int barCount); @Override boolean isSatisfied(int index, TradingRecord tradingRecord);  }### Answer:
@Test public void isSatisfied() { assertTrue(rule.isSatisfied(0)); assertTrue(rule.isSatisfied(1)); assertFalse(rule.isSatisfied(2)); assertTrue(rule.isSatisfied(3)); assertFalse(rule.isSatisfied(4)); assertTrue(rule.isSatisfied(5)); assertFalse(rule.isSatisfied(6)); assertFalse(rule.isSatisfied(7)); assertTrue(rule.isSatisfied(8)); assertTrue(rule.isSatisfied(9)); }