### Question:
StringsReplaceStepAnalyzer extends StepAnalyzer<ReplaceStringMeta> { @Override public Set<ComponentDerivationRecord> getChangeRecords( final ReplaceStringMeta stringsReplaceMeta ) throws MetaverseAnalyzerException { renameIndex.clear(); Set<ComponentDerivationRecord> changeRecords = new HashSet<ComponentDerivationRecord>(); for ( int i = 0; i < stringsReplaceMeta.getFieldInStream().length; i++ ) { ComponentDerivationRecord changeRecord = buildChangeRecord( stringsReplaceMeta, i ); changeRecords.add( changeRecord ); } return changeRecords; }  @Override Set<Class<? extends BaseStepMeta>> getSupportedSteps(); @Override Set<ComponentDerivationRecord> getChangeRecords( final ReplaceStringMeta stringsReplaceMeta );  }### Answer:
@Test public void testGetChangeRecords() throws Exception { Set<ComponentDerivationRecord> changeRecords = analyzer.getChangeRecords( stringsReplaceMeta ); assertEquals( changeRecords.size(), 3 ); List<String> inFields = Arrays.asList( stringsReplaceMeta.getFieldInStream() ); for ( ComponentDerivationRecord change : changeRecords ) { assertTrue( inFields.contains( change.getOriginalEntityName() ) ); assertEquals( 1, change.getOperations( ChangeType.DATA ).size() ); assertNull( change.getOperations( ChangeType.METADATA ) ); } }