public void testBounds() throws IOException {
BoundsVisitor boundsVisitor1 = new BoundsVisitor();
fc.accepts(boundsVisitor1, null);
BoundsVisitor boundsVisitor2 = new BoundsVisitor();
fc2.accepts(boundsVisitor2, null);
Envelope env1 = new Envelope(1, 5, 0, 4);
CalcResult boundsResult1 = boundsVisitor1.getResult();
assertEquals(env1, boundsResult1.toEnvelope());
Envelope env2 = new Envelope(4, 13, 3, 10);
CalcResult boundsResult2 = boundsVisitor2.getResult();
assertEquals(env2, boundsResult2.toEnvelope());
CalcResult boundsResult3 = boundsResult2.merge(boundsResult1);
Envelope env3 = new Envelope(1, 13, 0, 10);
assertEquals(env3, boundsResult3.toEnvelope());
boundsVisitor1.reset(null);
empty.accepts(boundsVisitor1, null);
assertEquals(CalcResult.NULL_RESULT, boundsVisitor1.getResult());
assertSame(boundsResult2, boundsVisitor1.getResult().merge(boundsResult2));
assertSame(boundsResult2, boundsResult2.merge(boundsVisitor1.getResult()));
}