### Question:
TableOutputStepAnalyzer extends ConnectionExternalResourceStepAnalyzer<TableOutputMeta> { @Override protected void customAnalyze( TableOutputMeta meta, IMetaverseNode node ) throws MetaverseAnalyzerException { super.customAnalyze( meta, node ); boolean truncate = meta.truncateTable(); node.setProperty( TRUNCATE_TABLE, Boolean.valueOf( truncate ) ); }  @Override Set<String> getOutputResourceFields( TableOutputMeta meta ); @Override Set<ComponentDerivationRecord> getChangeRecords( TableOutputMeta meta ); @Override IMetaverseNode getConnectionNode(); @Override Set<Class<? extends BaseStepMeta>> getSupportedSteps(); @Override String getResourceInputNodeType(); @Override String getResourceOutputNodeType(); @Override boolean isOutput(); @Override boolean isInput(); static final String TRUNCATE_TABLE; }### Answer:
@Test public void testCustomAnalyze() throws Exception { when( meta.truncateTable() ).thenReturn( true ); IMetaverseNode node = new MetaverseTransientNode( "new node" ); analyzer.customAnalyze( meta, node ); assertNotNull( node ); assertTrue( (Boolean) node.getProperty( TableOutputStepAnalyzer.TRUNCATE_TABLE ) ); }