### Question:
Pipeline { public String getName() { return name; } Pipeline();  Pipeline(String name, String scriptsHome, String sqlQuery, Source source); String getName(); void addPreRowTransformation(RowTransformation transformer); void addEntryTransformation(ColumnTransformation et); void addPostRowTransformation(RowTransformation transformer); void addExpression(String expression); void addFilter(String filter); void addQueryParam(Object value); void addSink(NamedSink sink); Source getSource(); void setSource(Source source); String getSqlQuery(); List<Object> getQueryParams(); List<Sink> getSinks(); List<RowTransformation> getPreRowTransformers(); List<ColumnTransformation> getColumnTransformations(); List<RowTransformation> getPostRowTransfomers(); List<String> getExpressions(); List<String> getFilters(); String getScriptsHome(); void setScriptsHome(String scriptsHome); void setStopOnError(boolean stopOnError); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString();  }### Answer:
@Test public void jaxbJDBCPipelineSerialization() { Pipeline origin = getJDBCPipeline(); Plumber plumber = Plumber.createWith(".", "config"); plumber.intoConfiguration(origin); Pipeline deserialized = plumber.fromConfiguration(origin.getName()); assertNotSame(deserialized, origin); assertEquals(deserialized, origin); }
@Test public void jaxbCSVPipelineSerialization() { Pipeline origin = getCSVPipeline(); Plumber plumber = Plumber.createWith(".", "config"); plumber.intoConfiguration(origin); Pipeline deserialized = plumber.fromConfiguration(origin.getName()); assertNotSame(deserialized, origin); assertEquals(deserialized, origin); }
@Test public void jsonPipelineSerialization() { Pipeline origin = getJSONPipeline(); Plumber plumber = Plumber.createWith(".", "config"); plumber.intoConfiguration(origin); Pipeline deserialized = plumber.fromConfiguration(origin.getName()); assertNotSame(deserialized, origin); assertEquals(deserialized, origin); }
@Test public void jsonToNashornPipelineSerialization() { Pipeline origin = getJSONToNashornPipeline(); Plumber plumber = Plumber.createWith(".", "config"); plumber.intoConfiguration(origin); Pipeline deserialized = plumber.fromConfiguration(origin.getName()); assertNotSame(deserialized, origin); assertEquals(deserialized, origin); }