### Question:
ComponentDerivationRecord { @Override public String toString() { return new JSONSerializer().include( "*" ).serialize( operations ); } ComponentDerivationRecord();  ComponentDerivationRecord( StepField originalField, StepField changedField );  ComponentDerivationRecord( StepField originalField, StepField changedField, ChangeType changeType );  ComponentDerivationRecord( String originalEntityName, String changedEntityName );  ComponentDerivationRecord( String originalEntityName, String changedEntityName, ChangeType changeType );  ComponentDerivationRecord( String changedEntityName, ChangeType changeType );  ComponentDerivationRecord( String changedEntityName ); ChangeType getChangeType(); void setChangeType( ChangeType changeType ); String getChangedEntityName(); void setChangedEntityName( String changedEntityName ); String getOriginalEntityName(); void setOriginalEntityName( String originalEntityName ); String getOriginalEntityStepName(); void setOriginalEntityStepName( String stepName ); String getChangedEntityStepName(); void setChangedEntityStepName( String stepName ); StepField getOriginalField(); void setOriginalField( StepField originalField ); StepField getChangedField(); void setChangedField( StepField changedField ); List<IOperation> getOperations( ChangeType type ); Operations getOperations(); void addOperation( Operation operation ); boolean hasDelta(); @Override boolean equals( Object o ); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testToString() throws Exception { Operations operations = record.getOperations(); assertNotNull( operations ); assertTrue( operations.isEmpty() ); assertEquals( record.toString(), "{}" ); record.addOperation( new Operation( "testOperation", "testOperand" ) ); assertEquals( record.toString(), "{\"metadataOperations\":[{\"category\":\"changeMetadata\",\"class\":" + "\"org.pentaho.metaverse.api.model.Operation\",\"description\":" + "\"testOperand\",\"name\":\"testOperation\",\"type\":\"METADATA\"}]}" ); }