assertThat("Top left corner after adding the first point", cluster.bounds().topLeft(), closeTo(DENVER));
assertThat("Bottom right corner after adding the first point", cluster.bounds().bottomRight(), closeTo(DENVER));
cluster.add(LAS_VEGAS);
assertThat("Cluster size after adding a second point", cluster.size(), equalTo(2));
assertThat("Center after adding a second point", cluster.center(), closeTo(new GeoPoint(37.915, -110.02)));
assertThat("Top left corner after adding a second point", cluster.bounds().topLeft(), closeTo(new GeoPoint(DENVER.getLat(), LAS_VEGAS.getLon())));
assertThat("Bottom right corner after adding a second point", cluster.bounds().bottomRight(), closeTo(new GeoPoint(LAS_VEGAS.getLat(), DENVER.getLon())));
cluster.add(SAN_DIEGO);
assertThat("Cluster size after adding a third point", cluster.size(), equalTo(3));
assertThat("Center after adding a third point", cluster.center(), closeTo(new GeoPoint(36.217, -112.39)));
assertThat("Top left corner after adding a third point", cluster.bounds().topLeft(), closeTo(new GeoPoint(DENVER.getLat(), SAN_DIEGO.getLon())));
assertThat("Bottom right corner after adding a third point", cluster.bounds().bottomRight(), closeTo(new GeoPoint(SAN_DIEGO.getLat(), DENVER.getLon())));
}