From dfeacc0360d7fb718f6cfd79a5f023ed8712f405 Mon Sep 17 00:00:00 2001 From: Eno Thereska Date: Fri, 29 Apr 2016 19:38:17 +0100 Subject: [PATCH 1/2] Fixed return value --- streams/src/main/java/org/apache/kafka/streams/KeyValue.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/streams/src/main/java/org/apache/kafka/streams/KeyValue.java b/streams/src/main/java/org/apache/kafka/streams/KeyValue.java index 58f2083b8457b..a54e58bf74e24 100644 --- a/streams/src/main/java/org/apache/kafka/streams/KeyValue.java +++ b/streams/src/main/java/org/apache/kafka/streams/KeyValue.java @@ -70,8 +70,8 @@ public boolean equals(Object other) { if (other instanceof KeyValue) { KeyValue otherKV = (KeyValue) other; - return key == null ? otherKV.key == null : key.equals(otherKV.key) - && value == null ? otherKV.value == null : value.equals(otherKV.value); + return (key == null ? otherKV.key == null : key.equals(otherKV.key)) + && (value == null ? otherKV.value == null : value.equals(otherKV.value)); } else { return false; } From c9eda62c0ab07fe3f7a7d5c55f08c9e466d82465 Mon Sep 17 00:00:00 2001 From: Eno Thereska Date: Fri, 29 Apr 2016 19:49:50 +0100 Subject: [PATCH 2/2] Added unit test --- .../src/test/java/org/apache/kafka/streams/KeyValueTest.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/streams/src/test/java/org/apache/kafka/streams/KeyValueTest.java b/streams/src/test/java/org/apache/kafka/streams/KeyValueTest.java index 47c8ecd1c2280..93423a2798617 100644 --- a/streams/src/test/java/org/apache/kafka/streams/KeyValueTest.java +++ b/streams/src/test/java/org/apache/kafka/streams/KeyValueTest.java @@ -26,6 +26,7 @@ public class KeyValueTest { private KeyValue kv1a = new KeyValue<>("key1", 1L); private KeyValue kv1b = new KeyValue<>("key1", 1L); + private KeyValue kv1c = new KeyValue<>("key1", 2L); private KeyValue kv2 = new KeyValue<>("key2", 2L); private KeyValue kv3 = new KeyValue<>("key3", 3L); @@ -34,12 +35,16 @@ public void testEquals() { assertTrue(kv1a.equals(kv1a)); assertTrue(kv1a.equals(kv1b)); assertTrue(kv1b.equals(kv1a)); + assertFalse(kv1a.equals(kv1c)); + assertFalse(kv1c.equals(kv2)); assertFalse(kv1a.equals(kv2)); assertFalse(kv1a.equals(kv3)); assertFalse(kv2.equals(kv3)); assertFalse(kv1a.equals(null)); } + + @Test public void testHashcode() { assertTrue(kv1a.hashCode() == kv1b.hashCode());