Skip to content

Commit 0dd74b5

Browse files
committed
get rid of file writing/reading
1 parent d8f7af7 commit 0dd74b5

File tree

1 file changed

+14
-40
lines changed

1 file changed

+14
-40
lines changed

jsprit-io/src/test/java/com/graphhopper/jsprit/io/problem/VrpXMLWriterTest.java

Lines changed: 14 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,11 @@
3131
import com.graphhopper.jsprit.core.util.Solutions;
3232
import com.graphhopper.jsprit.io.util.TestUtils;
3333
import org.junit.Assert;
34-
import org.junit.Before;
3534
import org.junit.Test;
3635

36+
import java.io.ByteArrayInputStream;
37+
import java.io.ByteArrayOutputStream;
3738
import java.io.IOException;
38-
import java.io.OutputStream;
39-
import java.nio.file.Files;
40-
import java.nio.file.Paths;
4139
import java.util.ArrayList;
4240
import java.util.Collection;
4341
import java.util.List;
@@ -46,34 +44,6 @@
4644

4745
public class VrpXMLWriterTest {
4846

49-
private String infileName;
50-
51-
@Before
52-
public void doBefore() {
53-
infileName = "src/test/resources/infiniteWriterV2Test.xml";
54-
}
55-
56-
@Test
57-
public void whenWritingInfiniteVrp_itWritesCorrectly() {
58-
VehicleRoutingProblem.Builder builder = VehicleRoutingProblem.Builder.newInstance();
59-
builder.setFleetSize(VehicleRoutingProblem.FleetSize.INFINITE);
60-
VehicleTypeImpl type = VehicleTypeImpl.Builder.newInstance("vehType").addCapacityDimension(0, 20).build();
61-
VehicleImpl vehicle = VehicleImpl.Builder.newInstance("myVehicle").setStartLocation(TestUtils.loc("loc")).setType(type).build();
62-
builder.addVehicle(vehicle);
63-
VehicleRoutingProblem vrp = builder.build();
64-
new VrpXMLWriter(vrp, null).write(infileName);
65-
}
66-
67-
@Test
68-
public void whenWritingFiniteVrp_itWritesAndReadsCorrectly() {
69-
VehicleRoutingProblem.Builder builder = twoVehicleTypesAndImpls();
70-
builder.setFleetSize(VehicleRoutingProblem.FleetSize.FINITE);
71-
72-
VehicleRoutingProblem vrp = builder.build();
73-
writeAndRereadXml(vrp);
74-
}
75-
76-
7747
@Test
7848
public void whenWritingServices_itWritesThemCorrectly() {
7949
VehicleRoutingProblem.Builder builder = twoVehicleTypesAndImpls();
@@ -630,28 +600,32 @@ public void outputStreamAndFileContentsAreEqual() throws IOException {
630600
VehicleRoutingProblem.Builder builder = twoVehicleTypesAndImpls();
631601
VehicleRoutingProblem vrp = builder.build();
632602

633-
new VrpXMLWriter(vrp, null).write(infileName);
634-
String outputStringFromFile = new String(Files.readAllBytes(Paths.get(infileName)));
603+
VrpXMLWriter vrpXMLWriter = new VrpXMLWriter(vrp, null);
604+
ByteArrayOutputStream os = (ByteArrayOutputStream) vrpXMLWriter.write();
605+
606+
String outputStringFromFile = new String(os.toByteArray());
635607
String outputStringFromStream = new VrpXMLWriter(vrp, null).write().toString();
636608

637609
assertEquals(outputStringFromFile, outputStringFromStream);
638610

639611
}
640612

641613
private VehicleRoutingProblem writeAndRereadXml(VehicleRoutingProblem vrp) {
642-
new VrpXMLWriter(vrp, null).write(infileName);
643-
614+
VrpXMLWriter vrpXMLWriter = new VrpXMLWriter(vrp, null);
615+
ByteArrayOutputStream os = (ByteArrayOutputStream) vrpXMLWriter.write();
616+
ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
644617
VehicleRoutingProblem.Builder vrpToReadBuilder = VehicleRoutingProblem.Builder.newInstance();
645-
new VrpXMLReader(vrpToReadBuilder, null).read(infileName);
618+
new VrpXMLReader(vrpToReadBuilder, null).read(is);
646619
return vrpToReadBuilder.build();
647620
}
648621

649622
private List<VehicleRoutingProblemSolution> writeAndRereadXmlWithSolutions(VehicleRoutingProblem vrp, List<VehicleRoutingProblemSolution> solutions) {
650-
new VrpXMLWriter(vrp, solutions).write(infileName);
651-
623+
VrpXMLWriter vrpXMLWriter = new VrpXMLWriter(vrp, solutions);
624+
ByteArrayOutputStream os = (ByteArrayOutputStream) vrpXMLWriter.write();
625+
ByteArrayInputStream is = new ByteArrayInputStream(os.toByteArray());
652626
VehicleRoutingProblem.Builder vrpToReadBuilder = VehicleRoutingProblem.Builder.newInstance();
653627
List<VehicleRoutingProblemSolution> solutionsToRead = new ArrayList<VehicleRoutingProblemSolution>();
654-
new VrpXMLReader(vrpToReadBuilder, solutionsToRead).read(infileName);
628+
new VrpXMLReader(vrpToReadBuilder, solutionsToRead).read(is);
655629
return solutionsToRead;
656630
}
657631

0 commit comments

Comments
 (0)