### Question:
FuzzyMatch extends BaseTransform<FuzzyMatchMeta, FuzzyMatchData> implements ITransform<FuzzyMatchMeta, FuzzyMatchData> { public boolean processRow() throws HopException { if ( data.readLookupValues ) { data.readLookupValues = false; if ( !readLookupValues() ) { logError( BaseMessages.getString( PKG, "FuzzyMatch.Log.UnableToReadDataFromLookupStream" ) ); setErrors( 1 ); stopAll(); return false; } if ( isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "FuzzyMatch.Log.ReadValuesInMemory", data.look.size() ) ); } } Object[] r = getRow(); if ( r == null ) { if ( isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "FuzzyMatch.Log.StoppedProcessingWithEmpty", getLinesRead() ) ); } setOutputDone(); return false; } try { Object[] outputRow = lookupValues( getInputRowMeta(), r ); if ( outputRow == null ) { setOutputDone(); return false; } putRow( data.outputRowMeta, outputRow ); if ( checkFeedback( getLinesRead() ) ) { if ( log.isBasic() ) { logBasic( BaseMessages.getString( PKG, "FuzzyMatch.Log.LineNumber" ) + getLinesRead() ); } } } catch ( HopException e ) { boolean sendToErrorRow = false; String errorMessage = null; if ( getTransformMeta().isDoingErrorHandling() ) { sendToErrorRow = true; errorMessage = e.toString(); } else { logError( BaseMessages.getString( PKG, "FuzzyMatch.Log.ErrorInTransformRunning" ) + e.getMessage() ); setErrors( 1 ); stopAll(); setOutputDone(); return false; } if ( sendToErrorRow ) { putError( getInputRowMeta(), r, 1, errorMessage, meta.getMainStreamField(), "FuzzyMatch001" ); } } return true; } FuzzyMatch( TransformMeta transformMeta, FuzzyMatchMeta meta, FuzzyMatchData data, int copyNr, PipelineMeta pipelineMeta,
                     Pipeline pipeline ); boolean processRow(); boolean init(); void dispose();  }### Answer:
@SuppressWarnings( "unchecked" ) @Test public void testProcessRow() throws Exception { fuzzyMatch = new FuzzyMatchHandler( mockHelper.transformMeta, mockHelper.iTransformMeta, mockHelper.iTransformData, 0, mockHelper.pipelineMeta, mockHelper.pipeline ); fuzzyMatch.init(); fuzzyMatch.addRowSetToInputRowSets( mockHelper.getMockInputRowSet( rows ) ); fuzzyMatch.addRowSetToInputRowSets( mockHelper.getMockInputRowSet( lookupRows ) ); when( mockHelper.iTransformMeta.getAlgorithmType() ).thenReturn( 8 ); mockHelper.iTransformData.look = mock( HashSet.class ); when( mockHelper.iTransformData.look.iterator() ).thenReturn( lookupRows.iterator() ); fuzzyMatch.processRow(); Assert.assertEquals( fuzzyMatch.resultRow[ 0 ], row3[ 0 ] ); }