You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2013/07/31 17:14:02 UTC
[25/50] [abbrv] git commit: ACCUMULO-1504 Pulling back Miguel's
changes for IteratorSetting from trunk to 1.4
ACCUMULO-1504 Pulling back Miguel's changes for IteratorSetting from trunk to 1.4
git-svn-id: https://svn.apache.org/repos/asf/accumulo/branches/1.4@1494816 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a91173bc
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a91173bc
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a91173bc
Branch: refs/heads/master
Commit: a91173bcbb71052f730961e842cbc5b713d58104
Parents: 9b2a56b
Author: Josh Elser <el...@apache.org>
Authored: Thu Jun 20 00:16:14 2013 +0000
Committer: Josh Elser <el...@apache.org>
Committed: Thu Jun 20 00:16:14 2013 +0000
----------------------------------------------------------------------
.../accumulo/core/client/IteratorSetting.java | 46 ++++++++++++
.../core/client/IteratorSettingTest.java | 76 ++++++++++++++++++++
2 files changed, 122 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91173bc/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java b/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
index a3ea003..e815072 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
@@ -251,6 +251,52 @@ public class IteratorSetting {
}
/**
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((iteratorClass == null) ? 0 : iteratorClass.hashCode());
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + priority;
+ result = prime * result + ((properties == null) ? 0 : properties.hashCode());
+ return result;
+ }
+
+ /**
+ * @see java.lang.Object#equals()
+ */
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (!(obj instanceof IteratorSetting))
+ return false;
+ IteratorSetting other = (IteratorSetting) obj;
+ if (iteratorClass == null) {
+ if (other.iteratorClass != null)
+ return false;
+ } else if (!iteratorClass.equals(other.iteratorClass))
+ return false;
+ if (name == null) {
+ if (other.name != null)
+ return false;
+ } else if (!name.equals(other.name))
+ return false;
+ if (priority != other.priority)
+ return false;
+ if (properties == null) {
+ if (other.properties != null)
+ return false;
+ } else if (!properties.equals(other.properties))
+ return false;
+ return true;
+ }
+
+ /**
* @see java.lang.Object#toString()
*/
@Override
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91173bc/src/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java
----------------------------------------------------------------------
diff --git a/src/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java b/src/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java
new file mode 100644
index 0000000..69bf1b5
--- /dev/null
+++ b/src/core/src/test/java/org/apache/accumulo/core/client/IteratorSettingTest.java
@@ -0,0 +1,76 @@
+package org.apache.accumulo.core.client;
+
+import static org.junit.Assert.*;
+
+import org.apache.accumulo.core.iterators.Combiner;
+import org.apache.accumulo.core.iterators.DevNull;
+import org.apache.hadoop.io.Writable;
+import org.junit.Test;
+
+/**
+ * Test cases for the IteratorSetting class
+ */
+public class IteratorSettingTest {
+
+ IteratorSetting setting1 = new IteratorSetting(500, "combiner", Combiner.class.getName());
+ IteratorSetting setting2 = new IteratorSetting(500, "combiner", Combiner.class.getName());
+ IteratorSetting setting3 = new IteratorSetting(500, "combiner", Combiner.class.getName());
+ IteratorSetting devnull = new IteratorSetting(500, "devNull", DevNull.class.getName());
+ IteratorSetting nullsetting = null;
+ IteratorSetting setting4 = new IteratorSetting(300, "combiner", Combiner.class.getName());
+ IteratorSetting setting5 = new IteratorSetting(500, "foocombiner", Combiner.class.getName());
+ IteratorSetting setting6 = new IteratorSetting(500, "combiner", "MySuperCombiner");
+
+ @Test
+ public final void testHashCodeSameObject() {
+ assertEquals(setting1.hashCode(), setting1.hashCode());
+ }
+
+ @Test
+ public final void testHashCodeEqualObjects() {
+ assertEquals(setting1.hashCode(), setting2.hashCode());
+ }
+
+ @Test
+ public final void testEqualsObjectReflexive() {
+ assertEquals(setting1, setting1);
+ }
+
+ @Test
+ public final void testEqualsObjectSymmetric() {
+ assertEquals(setting1, setting2);
+ assertEquals(setting2, setting1);
+ }
+
+ @Test
+ public final void testEqualsObjectTransitive() {
+ assertEquals(setting1, setting2);
+ assertEquals(setting2, setting3);
+ assertEquals(setting1, setting3);
+ }
+
+ @Test
+ public final void testEqualsNullSetting() {
+ assertNotEquals(setting1, nullsetting);
+ }
+
+ @Test
+ public final void testEqualsObjectNotEqual() {
+ assertNotEquals(setting1, devnull);
+ }
+
+ @Test
+ public final void testEqualsObjectProperties() {
+ IteratorSetting mysettings = new IteratorSetting(500, "combiner", Combiner.class.getName());
+ assertEquals(setting1, mysettings);
+ mysettings.addOption("myoption1", "myvalue1");
+ assertNotEquals(setting1, mysettings);
+ }
+
+ @Test
+ public final void testEqualsDifferentMembers() {
+ assertNotEquals(setting1, setting4);
+ assertNotEquals(setting1, setting5);
+ assertNotEquals(setting1, setting6);
+ }
+}