### Question:
ValueMapperStepAnalyzer extends StepAnalyzer<ValueMapperMeta> { @Override public Set<ComponentDerivationRecord> getChangeRecords( ValueMapperMeta valueMapperMeta ) throws MetaverseAnalyzerException { final String fieldToUse = valueMapperMeta.getFieldToUse(); final String targetField = valueMapperMeta.getTargetField() == null ? fieldToUse : valueMapperMeta.getTargetField(); final String[] sourceValues = valueMapperMeta.getSourceValue(); final String[] targetValues = valueMapperMeta.getTargetValue(); Set<ComponentDerivationRecord> changeRecords = new HashSet<>( 1 ); final ComponentDerivationRecord changeRecord = new ComponentDerivationRecord( fieldToUse, targetField, ChangeType.DATA ); for ( int i = 0; i < sourceValues.length; i++ ) { String mapping = sourceValues[i] + " -> " + targetValues[i]; changeRecord.addOperation( new Operation( Operation.MAPPING_CATEGORY, ChangeType.DATA, DictionaryConst.PROPERTY_TRANSFORMS, mapping ) ); } changeRecords.add( changeRecord ); return changeRecords; }  @Override Set<ComponentDerivationRecord> getChangeRecords( ValueMapperMeta valueMapperMeta ); @Override Set<Class<? extends BaseStepMeta>> getSupportedSteps();  }### Answer:
@Test public void testGetChangeRecords() throws Exception { Set<ComponentDerivationRecord> changeRecords = analyzer.getChangeRecords( meta ); assertEquals( 1, changeRecords.size() ); ComponentDerivationRecord changeRecord = changeRecords.iterator().next(); assertEquals( meta.getFieldToUse(), changeRecord.getOriginalEntityName() ); assertEquals( ( meta.getTargetField() == null ? meta.getFieldToUse() : meta.getTargetField() ), changeRecord.getChangedEntityName() ); Operations operations = changeRecord.getOperations(); assertEquals( 1, operations.size() ); List<IOperation> dataOperations = operations.get( ChangeType.DATA ); assertEquals( 2, dataOperations.size() ); }