@Test
public void testCreateUnion() {

	double minx2 = -getRandom().nextDouble();
	double miny2 = -getRandom().nextDouble();
	double minz2 = -getRandom().nextDouble();
	double minm2 = -getRandom().nextDouble();
	double maxx2 = getRandom().nextDouble();
	double maxy2 = getRandom().nextDouble();
	double maxz2 = getRandom().nextDouble();
	double maxm2 = getRandom().nextDouble();
	
	double x = Math.min(this.minx, minx2);
	double X = Math.max(this.maxx, maxx2);
	double y = Math.min(this.miny, miny2);
	double Y = Math.max(this.maxy, maxy2);
	double z = Math.min(this.minz, minz2);
	double Z = Math.max(this.maxz, maxz2);
	double m = Math.min(this.minm, minm2);
	double M = Math.max(this.maxm, maxm2);
	
	ESRIBounds union = this.bounds.createUnion(new ESRIBounds(x, X, y, Y, z, Z, m, M));
	
	assertNotNull(union);
	assertEpsilonEquals(x, union.getMinX());
	assertEpsilonEquals(X, union.getMaxX());
	assertEpsilonEquals(y, union.getMinY());
	assertEpsilonEquals(Y, union.getMaxY());
	assertEpsilonEquals(z, union.getMinZ());
	assertEpsilonEquals(Z, union.getMaxZ());
	assertEpsilonEquals(m, union.getMinM());
	assertEpsilonEquals(M, union.getMaxM());
}