This code was a little buggy, which caused some sporadic failures of this unit test.
The first bug was in evaluation of this expression
mpool.estimateSmartFee(i, &answerFound).GetFeePerK() > origFeeEst[answerFound - 1] - deltaFee
The result incorrectly depends on prior evaluation of answerFound in LHS which is not guaranteed to happen before evaluation of RHS. (http://en.cppreference.com/w/cpp/language/eval_order)
The second bug was that due to the first, the use of answerFound could occur before it has even been initialized (on entry to the loop).
The fix here ensures that answerFound is properly initialized before further use (provided estimateSmartFee returns it with value > 0) , and the result of the comparison becomes determinate.