assertThat("Cluster after adding Denver again", reducer.reduce(clusters), hasItems(
new GeoCluster(2, DENVER, new GeoBoundingBox(DENVER))));
clusters.add(new GeoCluster(SAN_DIEGO));
assertThat("Cluster after adding San Diego", reducer.reduce(clusters), hasItems(
new GeoCluster(3, new GeoPoint(37.4400, -108.9567), new GeoBoundingBox(DENVER).extend(SAN_DIEGO))));
clusters.add(new GeoCluster(LAS_VEGAS));
assertThat("Cluster after adding Las Vegas", reducer.reduce(clusters), hasItems(
new GeoCluster(4, new GeoPoint(37.1000, -110.5100), new GeoBoundingBox(DENVER).extend(SAN_DIEGO).extend(LAS_VEGAS))));
}