From 4db34b7d4e4e3949ffb9d5647a67a8c06497e301 Mon Sep 17 00:00:00 2001 From: Marco Ziccardi Date: Fri, 23 Oct 2015 14:33:57 +0200 Subject: [PATCH] Add getResult comparison to BatchResponse.equals --- .../google/gcloud/storage/BatchResponse.java | 2 +- .../gcloud/storage/BatchRequestTest.java | 53 +++++++++++++++++++ .../gcloud/storage/BatchResponseTest.java | 31 ++++++++++- 3 files changed, 83 insertions(+), 3 deletions(-) diff --git a/gcloud-java-storage/src/main/java/com/google/gcloud/storage/BatchResponse.java b/gcloud-java-storage/src/main/java/com/google/gcloud/storage/BatchResponse.java index 02b1ca966622..9ac799e74a15 100644 --- a/gcloud-java-storage/src/main/java/com/google/gcloud/storage/BatchResponse.java +++ b/gcloud-java-storage/src/main/java/com/google/gcloud/storage/BatchResponse.java @@ -133,7 +133,7 @@ public boolean equals(Object obj) { BatchResponse other = (BatchResponse) obj; return Objects.equals(deleteResult, other.deleteResult) && Objects.equals(updateResult, other.updateResult) - && Objects.equals(updateResult, other.updateResult); + && Objects.equals(getResult, other.getResult); } /** diff --git a/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchRequestTest.java b/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchRequestTest.java index 96b73c871468..06b1105d7b9b 100644 --- a/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchRequestTest.java +++ b/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchRequestTest.java @@ -19,6 +19,7 @@ import static com.google.gcloud.storage.Storage.PredefinedAcl.PUBLIC_READ; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; import com.google.common.collect.Iterables; @@ -82,4 +83,56 @@ public void testBatchRequest() { assertTrue(Iterables.isEmpty(get.getValue())); assertFalse(gets.hasNext()); } + + @Test + public void testEquals() { + BatchRequest request = BatchRequest.builder() + .delete("b1", "o1") + .delete("b1", "o2") + .update(BlobInfo.builder("b2", "o1").build()) + .update(BlobInfo.builder("b2", "o2").build()) + .get("b3", "o1") + .get("b3", "o2") + .build(); + BatchRequest requestEquals = BatchRequest.builder() + .delete("b1", "o1") + .delete("b1", "o2") + .update(BlobInfo.builder("b2", "o1").build()) + .update(BlobInfo.builder("b2", "o2").build()) + .get("b3", "o1") + .get("b3", "o2") + .build(); + BatchRequest requestNotEquals1 = BatchRequest.builder() + .delete("b1", "o1") + .delete("b1", "o3") + .update(BlobInfo.builder("b2", "o1").build()) + .update(BlobInfo.builder("b2", "o2").build()) + .get("b3", "o1") + .get("b3", "o2") + .build(); + BatchRequest requestNotEquals2 = BatchRequest.builder() + .delete("b1", "o1") + .delete("b1", "o2") + .update(BlobInfo.builder("b2", "o1").build()) + .update(BlobInfo.builder("b2", "o3").build()) + .get("b3", "o1") + .get("b3", "o2") + .build(); + BatchRequest requestNotEquals3 = BatchRequest.builder() + .delete("b1", "o1") + .delete("b1", "o2") + .update(BlobInfo.builder("b2", "o1").build()) + .update(BlobInfo.builder("b2", "o2").build()) + .get("b3", "o1") + .get("b3", "o3") + .build(); + assertEquals(request, requestEquals); + assertEquals(request.hashCode(), requestEquals.hashCode()); + assertNotEquals(request, requestNotEquals1); + assertNotEquals(request.hashCode(), requestNotEquals1.hashCode()); + assertNotEquals(request, requestNotEquals2); + assertNotEquals(request.hashCode(), requestNotEquals2.hashCode()); + assertNotEquals(request, requestNotEquals3); + assertNotEquals(request.hashCode(), requestNotEquals3.hashCode()); + } } diff --git a/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchResponseTest.java b/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchResponseTest.java index 59c1da91b3fd..5985329e0183 100644 --- a/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchResponseTest.java +++ b/gcloud-java-storage/src/test/java/com/google/gcloud/storage/BatchResponseTest.java @@ -17,6 +17,7 @@ package com.google.gcloud.storage; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; import com.google.common.collect.ImmutableList; import com.google.gcloud.storage.BatchResponse.Result; @@ -34,12 +35,38 @@ public class BatchResponseTest { @Test public void testBatchResponse() { List> deletes = ImmutableList.of(Result.of(true), Result.of(false)); - List> updates = ImmutableList.of(Result.of(BLOB_INFO_1), Result.of(BLOB_INFO_2)); + List> updates = + ImmutableList.of(Result.of(BLOB_INFO_1), Result.of(BLOB_INFO_2)); List> gets = ImmutableList.of(Result.of(BLOB_INFO_2), Result.of(BLOB_INFO_3)); BatchResponse response = new BatchResponse(deletes, updates, gets); - assertEquals(deletes, response.deletes()); assertEquals(updates, response.updates()); assertEquals(gets, response.gets()); } + + @Test + public void testEquals() { + List> deletes = ImmutableList.of(Result.of(true), Result.of(false)); + List> updates = + ImmutableList.of(Result.of(BLOB_INFO_1), Result.of(BLOB_INFO_2)); + List> gets = ImmutableList.of(Result.of(BLOB_INFO_2), Result.of(BLOB_INFO_3)); + List> otherDeletes = ImmutableList.of(Result.of(false), Result.of(true)); + List> otherUpdates = + ImmutableList.of(Result.of(BLOB_INFO_2), Result.of(BLOB_INFO_3)); + List> otherGets = + ImmutableList.of(Result.of(BLOB_INFO_1), Result.of(BLOB_INFO_2)); + BatchResponse response = new BatchResponse(deletes, updates, gets); + BatchResponse responseEquals = new BatchResponse(deletes, updates, gets); + BatchResponse responseNotEquals1 = new BatchResponse(otherDeletes, updates, gets); + BatchResponse responseNotEquals2 = new BatchResponse(deletes, otherUpdates, gets); + BatchResponse responseNotEquals3 = new BatchResponse(deletes, updates, otherGets); + assertEquals(response, responseEquals); + assertEquals(response.hashCode(), responseEquals.hashCode()); + assertNotEquals(response, responseNotEquals1); + assertNotEquals(response.hashCode(), responseNotEquals1.hashCode()); + assertNotEquals(response, responseNotEquals2); + assertNotEquals(response.hashCode(), responseNotEquals2.hashCode()); + assertNotEquals(response, responseNotEquals3); + assertNotEquals(response.hashCode(), responseNotEquals3.hashCode()); + } }