From 0dd74b5bf98f617ae4223e3a1a8f4081f996486d Mon Sep 17 00:00:00 2001 From: oblonski Date: Fri, 30 Jun 2017 11:35:15 +0200 Subject: [PATCH] get rid of file writing/reading --- .../jsprit/io/problem/VrpXMLWriterTest.java | 54 +++++-------------- 1 file changed, 14 insertions(+), 40 deletions(-) diff --git a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java index 54ea122f..0075600f 100644 --- a/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java +++ b/jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java @@ -31,13 +31,11 @@ import com.graphhopper.jsprit.core.util.Coordinate; import com.graphhopper.jsprit.core.util.Solutions; import com.graphhopper.jsprit.io.util.TestUtils; import org.junit.Assert; -import org.junit.Before; import org.junit.Test; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.IOException; -import java.io.OutputStream; -import java.nio.file.Files; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -46,34 +44,6 @@ import static org.junit.Assert.*; public class VrpXMLWriterTest { - private String infileName; - - @Before - public void doBefore() { - infileName = "src/test/resources/infiniteWriterV2Test.xml"; - } - - @Test - public void whenWritingInfiniteVrp_itWritesCorrectly() { - VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance(); - builder.setFleetSize(VehicleRoutingProblem.FleetSize.INFINITE); - VehicleTypeImpl type = VehicleTypeImpl.Builder.newInstance("vehType").addCapacityDimension(0, 20).build(); - VehicleImpl vehicle = VehicleImpl.Builder.newInstance("myVehicle").setStartLocation(TestUtils.loc("loc")).setType(type).build(); - builder.addVehicle(vehicle); - VehicleRoutingProblem vrp = builder.build(); - new VrpXMLWriter(vrp, null).write(infileName); - } - - @Test - public void whenWritingFiniteVrp_itWritesAndReadsCorrectly() { - VehicleRoutingProblem.Builder builder = twoVehicleTypesAndImpls(); - builder.setFleetSize(VehicleRoutingProblem.FleetSize.FINITE); - - VehicleRoutingProblem vrp = builder.build(); - writeAndRereadXml(vrp); - } - - @Test public void whenWritingServices_itWritesThemCorrectly() { VehicleRoutingProblem.Builder builder = twoVehicleTypesAndImpls(); @@ -630,8 +600,10 @@ public class VrpXMLWriterTest { VehicleRoutingProblem.Builder builder = twoVehicleTypesAndImpls(); VehicleRoutingProblem vrp = builder.build(); - new VrpXMLWriter(vrp, null).write(infileName); - String outputStringFromFile = new String(Files.readAllBytes(Paths.get(infileName))); + VrpXMLWriter vrpXMLWriter = new VrpXMLWriter(vrp, null); + ByteArrayOutputStream os = (ByteArrayOutputStream) vrpXMLWriter.write(); + + String outputStringFromFile = new String(os.toByteArray()); String outputStringFromStream = new VrpXMLWriter(vrp, null).write().toString(); assertEquals(outputStringFromFile, outputStringFromStream); @@ -639,19 +611,21 @@ public class VrpXMLWriterTest { } private VehicleRoutingProblem writeAndRereadXml(VehicleRoutingProblem vrp) { - new VrpXMLWriter(vrp, null).write(infileName); - + VrpXMLWriter vrpXMLWriter = new VrpXMLWriter(vrp, null); + ByteArrayOutputStream os = (ByteArrayOutputStream) vrpXMLWriter.write(); + ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); VehicleRoutingProblem.Builder vrpToReadBuilder = VehicleRoutingProblem.Builder.newInstance(); - new VrpXMLReader(vrpToReadBuilder, null).read(infileName); + new VrpXMLReader(vrpToReadBuilder, null).read(is); return vrpToReadBuilder.build(); } private List writeAndRereadXmlWithSolutions(VehicleRoutingProblem vrp, List solutions) { - new VrpXMLWriter(vrp, solutions).write(infileName); - + VrpXMLWriter vrpXMLWriter = new VrpXMLWriter(vrp, solutions); + ByteArrayOutputStream os = (ByteArrayOutputStream) vrpXMLWriter.write(); + ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray()); VehicleRoutingProblem.Builder vrpToReadBuilder = VehicleRoutingProblem.Builder.newInstance(); List solutionsToRead = new ArrayList(); - new VrpXMLReader(vrpToReadBuilder, solutionsToRead).read(infileName); + new VrpXMLReader(vrpToReadBuilder, solutionsToRead).read(is); return solutionsToRead; }