### Question:
Script extends BaseTransform implements ITransform { public boolean init() { meta = (ScriptMeta) smi; data = (ScriptData) sdi; if ( super.init() ) { jsScripts = meta.getJSScripts(); for ( int j = 0; j < jsScripts.length; j++ ) { switch ( jsScripts[ j ].getScriptType() ) { case ScriptValuesScript.TRANSFORM_SCRIPT: strTransformScript = jsScripts[ j ].getScript(); break; case ScriptValuesScript.START_SCRIPT: strStartScript = jsScripts[ j ].getScript(); break; case ScriptValuesScript.END_SCRIPT: strEndScript = jsScripts[ j ].getScript(); break; default: break; } } return true; } return false; } Script( TransformMeta transformMeta, ITransformData data, int copyNr, PipelineMeta pipelineMeta,
                 Pipeline pipeline ); Object getValueFromJScript( Object result, int i ); IRowMeta getOutputRowMeta(); boolean processRow(); boolean init(); void dispose(); static final int SKIP_PIPELINE; static final int ABORT_PIPELINE; static final int ERROR_PIPELINE; static final int CONTINUE_PIPELINE; }### Answer:
@Test public void testOutputDoneIfInputEmpty() throws Exception { Script transform = new Script( helper.transformMeta, helper.iTransformData, 1, helper.pipelineMeta, helper.pipeline ); transform.init(); RowSet rs = helper.getMockInputRowSet( new Object[ 0 ][ 0 ] ); List<RowSet> in = new ArrayList<RowSet>(); in.add( rs ); transform.setInputRowSets( in ); PipelineTestingUtil.execute( transform, helper.processRowsITransform, helper.processRowsTransformDataInterface, 0, true ); rs.getRow(); }